{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{PSTYLE "Normal " -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Text Output" -1 6 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 2 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Map le Output" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 3 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT -1 46 "This is package SP for sym metric functions. \n\n" }{TEXT 256 303 "In order to execute this works heet amd insert this new package into a Maple archive, worksheet SPini tialization_06_M11.mws needs to be executed first or the Maple archive will become corrupted.\nThe worksheet SPinitialization_06_M11.mws ini tializes remember tables of certain procedures in this package.\n" } {TEXT -1 30 "\nCookeville, December 20, 2007" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 560 "r estart:\nSP:=module()\n###################################\nexport SPv ersion, Sigma, isSymmetric, a_polynom, Schur_polynom, hpolynom, gpolyn om, powersum,sigma_to_powersum, \nMatrixAction, isGinvariant, Reynolds , isContained, SymmetricGroup, AlternatingGroup, permsign, \ngenerateG invariants, reduceGinvariants, load_remember_table, SyzygyIdeal, Dpoly nom, ispartition,\ncreate_partitions, Hilbert_series, Molien_series, m axmindegree,FiniteGroups, \nModuleLoad, ModuleUnload; \n############# ######################\noption package, load=ModuleLoad , unload=Modul eUnload;" }{TEXT -1 1 "\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1299 "SPve rsion:= proc()\noptions `Copyright (c) 2007-2008 by Rafal Ablamowicz a nd Bertfried Fauser. All rights reserved.`;\ndescription `Revised: Dec ember 20, 2007`;\n#################################################### ###################\nprint(`++++++++++++++++++++++++++++++++++++++++++ +`);\nprint(`SP - A Maple 11 Small Package for Symmetric Polynomials`) ; \nprint(`Last revised: December 20, 2007 (Source file: SP_06_M11.mws )`);\nprint(`Copyright 2007-2008 by Rafal Ablamowicz(*) and Bertfried \+ Fauser(**)`);\nprint(``);\nprint(`(*) Department of Mathematics, Box \+ 5054`);\nprint(` Tennessee Technological University, Cookeville, T N 38505`);\nprint(` tel: USA (931) 372-3622, fax: USA (931) 372-63 53`);\nprint(` rablamowicz@tntech.edu`);\nprint(` http://math. tntech.edu/rafal/`);\nprint(`(**) University of Konstanz`);\nprint(` \+ Fachbereich Physik, Fach M678`);\nprint(` Universit\344tsstrass e 10, D-78457 Konstanz, Germany`);\nprint(` Phone: +49 (0)7531 693 491`);\nprint(` E-mail: Bertfried.Fauser@uni-konstanz.de`);\nprint (` http://clifford.physik.uni-konstanz.de/~fauser/`);\nprint(``); \nprint(`++++++++++++This is Symmetric Polynomials Package (SP) for Ma ple 11 version 06++++++++++++`);\nend proc:\n\n####################### ##############################################################\n" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 618 "Sigma:=proc() local n,k,L,i:\nopti ons `Copyright (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights reserved.`;\n############################################# ##########################\nk:=op(procname);\nn:=nargs:\nif n=0 then e rror `at least one indeterminate is needed as argument` end if:\nif no t type(k,posint) then error `index must be of type posint` end if:\nif k>n then error `index must be no larger than the number of arguments` end if:\nL:=combinat:-choose([args],k);\nadd(`*`(op(L[i])),i=1..nops( L)); \nend proc:\n\n################################################## ###################################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 998 "isSymmetric:=proc(f::polynom) local vars,n,xi,yi,k,T,i,F,GB,r,f lag,sigma,_y;\noptions `Copyright (c) 2007-2008 by Rafal Ablamowicz an d Bertfried Fauser. All rights reserved.`;\n########################## #############################################\nvars:=sort(convert(inde ts(f),list)):\nn:=nops(vars);\n####################################### #################################\n#### if n<=3 we will use Maple but \+ if n>=4 then we will use FGb package\n################################ ########################################\nxi:=op(vars):\nyi:=seq(_y[k] ,k=1..n);\nT:=plex(xi,yi);\nif n<=3 then \n F:=[seq(SP:-Sigma[i](xi) - _y[i],i=1..n)];\n GB:=Groebner:-Basis(F,T);\n else\n GB:=FGb: -fgb_gbasis([seq(SP:-Sigma[i](xi)-_y[i],i=1..n)],0,[xi,yi],[]);\nend i f:\nr:=Groebner:-NormalForm(f,GB,T);\nflag:=`subset`(indets(r),\{yi\}) ;\nif not flag or nargs=1 then return flag end if;\nsubs(\{seq(_y[i]=s igma[i],i=1..n)\},r);\nend proc:\n\n################################## ###################################################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 765 "hpolynom:=proc() local s,i,L,M,j,k,P:\noptions \+ `Copyright (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights reserved.`;\n################################################# ######################\ns:=nargs:\nif not type(s,posint) then error `n umber of arguments must be of type posint` end if:\ni:=op(procname);\n if not type(i,nonnegint) then error `index must be of type nonnegint` \+ end if:\nif i=0 then return 1 end if:\nL:=[]:\nP:=combinat:-partition( i):\nfor j from 1 to nops(P) do\n if nops(P[j]) <= s then \n \+ L:=[op(L),[op(P[j]),0$(s-nops(P[j]))]];\n end if:\nend do;\nM:=map( op@combinat:-permute,L);\nadd(product(args[k]^M[j][k],k=1..s),j=1..nop s(M));\nend proc:\n\n################################################# ####################################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 665 "gpolynom:=proc() local i,j,k,n,t;\noptions `Copyright (c) 200 7-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights reserved.` ;\n################################################################### ####\nn:=nargs:\nif not type(n,posint) then error `number of arguments must be of type posint` end if:\nk:=op(procname):\nif not (type(k,pos int) and k <=n) then \n error `index must be of type posint and it m ust be no larger than number of arguments`\nend if:\nSP:-hpolynom[k](s eq(args[k+i],i=0..(n-k)))+add((-1)^j*SP:-hpolynom[k-j](seq(args[k+i],i =0..(n-k)))*y[j],j=1..k);\nend proc:\n\n############################## #######################################################\n" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 487 "powersum:=proc() local i,k,n;\noptions `Cop yright (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rig hts reserved.`;\n##################################################### ##################\nk:=op(procname):\nif not k>=1 then error `index mu st be of type posint` end if;\nn:=nargs:\nif n=0 then error `at least \+ one indeterminate is needed as argument` end if: \nadd(args[i]^k,i=1.. n);\nend proc:\n\n#################################################### #################################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 746 "sigma_to_powersum:=proc(ss) local n,s,k,p;\noptions `Copyright (c ) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights reser ved.`;\n############################################################## #########\nn:=nargs:\nif not type(n,posint) then error `number of argu ments must be of type posint` end if:\nk:=op(procname);\nif not type(k ,posint) then error `index must be of type posint` end if:\nif k>n the n error `index must be no greater than the number of variables in the \+ sequence` end if: \nif k=1 then return s[1] else\n p:=(-1)^(k-1)*1/k *(s[k] +add((-1)^j*procname[j](args)*s[k-j],j=1..(k-1))); \nend if;\nr eturn expand(convert(p,`global`));\nend proc:\n\n##################### ################################################################\n" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 678 "a_polynom:=proc() local n,i,j,r,la mbda:\noptions `Copyright (c) 2007-2008 by Rafal Ablamowicz and Bertfr ied Fauser. All rights reserved.`;\n################################## #####################################\nlambda:=op(1,procname):\nif not SP:-ispartition(lambda) then \n error `index must be a partition en tered as a list` \nend if:\nn:=nargs:\nif n<>nops(lambda) then \n er ror `length of the partition lambda must equal the number of arguments ` \nend if;\n\nfor j from 1 to n do\nr[j]:=seq(args[i]^(lambda[j]+n-j) ,i=1..n);\nend do:\nreturn linalg:-det(matrix(n,n,[seq(r[i],i=1..n)])) ;\nend proc:\n\n###################################################### ###############################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 393 "Schur_polynom:=proc() local lambda:\noptions `Copyright (c) 2007- 2008 by Rafal Ablamowicz and Bertfried Fauser. All rights reserved.`; \n#################################################################### ###\nlambda:=op(1,procname);\nexpand(simplify(SP:-a_polynom[lambda](ar gs)/SP:-Dpolynom(args)));\nend proc:\n\n############################## #######################################################\n" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 1300 "MatrixAction:=proc(A::\{matrix,matrix^nonn egint\}, f::polynom, varslist::list(\{symbol,indexed\})) local m,n,var s,_X,ringvars,findinlist,p:\noptions `Copyright (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights reserved.`;\n############ ###########################################################\nfindinlis t:=proc() local i,flag:\nflag:=false:\nif not member(args[1],args[2]) \+ then return flag end if:\nfor i from 1 to nops(args[2]) while not flag do\n if args[1]=args[2][i] then flag:=true end if;\nend do:\nretur n i-1;\nend proc:\n################################################### ######\nm,n:=linalg:-rowdim(A),linalg:-coldim(A):\nif m<>n then \n \+ error `matrix A needs to be square` \nend if:\nif nops(varslist) < > m then \n error `size of the matrix A must equ al the length of the variable list` \nend if:\nif not `subset`(indets( f),convert(varslist,set)) then \n error `variables in polynomial f m ust be a subset of the set of the ring indeterminates`\nend if;\nvars: =sort([op(indets(f))]):\nringvars:=sort(varslist):\n_X:=evalm(A &* mat rix(m,1,ringvars));\n_X:=[seq(_X[i,1],i=1..m)];\np:=expand(subs(\{seq( vars[i]=_X[findinlist(vars[i],ringvars)],i=1..nops(vars))\},f));\n#ret urn p/icontent(p);\nreturn p;\nend proc:\n\n########################## ##################################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1555 "isGinvariant:=proc(f::\{polynom,monomial\},varslist::list(\{sy mbol,indexed\})) local G,rdim,cdim,size,vars,nvars,flag,A:\noptions `C opyright (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All r ights reserved.`;\n################################################### ####################\nG:=op(procname);\nif not type(G,list(\{name,symb ol,matrix,algebraic\})) then \n error `index G must be of type list( \{name,symbol,matrix,algebraic\})` \nend if;\nrdim,cdim:=convert(map(l inalg:-rowdim,G),set),convert(map(linalg:-rowdim,G),set);\nif nops(rdi m) <> 1 or nops(cdim) <> 1 or rdim <> cdim then\n error `matrices in the list G must be all square of the same size`\nend if:\n########### #################################################\nsize:=op(rdim):\nva rs:=sort([op(indets(f))]):\nnvars:=nops(vars):\nif nvars>size then \n \+ error `number of indeterminates cannot exceed the size of group G ma trices` \nend if:\n################################################### #########\nif nops(varslist) <> size then \n \+ error `size of the matrix A must equal the length of the variable list ` \nend if:\n######################################################### ###\nif not `subset`(indets(f),convert(varslist,set)) then \n error \+ `variables in polynomial f must be a subset of the set of the ring ind eterminates`\nend if;\n############################################### #############\nflag:=true:\nfor A in G while flag do\n flag:=eval b(f=SP:-MatrixAction(A,f,varslist)):\nend do:\nreturn flag;\nend proc: \n\n############################################################\n" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 551 "Reynolds:=proc(f::polynom, varslis t::list(\{symbol,indexed\})) local G,m:\noptions `Copyright (c) 2007-2 008 by Rafal Ablamowicz and Bertfried Fauser. All rights reserved.`,re member;\n############################################################# ###################\n\nG:=op(procname);\nif not type(G,list(\{name,sym bol,matrix,algebraic\})) then \n error `index G must be of type list (\{name,symbol,matrix,algebraic\})` end if;\nm:=nops(G):\nadd(1/m*SP:- MatrixAction(G[i],f,varslist),i=1..m);\nend proc:\n\n################# ###########################################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1249 "isContained:=proc(fp::polynom,ff::list(polynom)) lo cal n,m,varsF,vars,xi,yi,k,T,i,F,GB,r,flag,_f,_y;\noptions `Copyright \+ (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights res erved.`,remember;\n################################################### #############################\nm:=nops(ff):\nif not m>=1 then error `l ist ff must have at least one polynomial` end if:\nvarsF:=`union`(seq( indets(ff[i]),i=1..m));\nn:=nops(varsF):\nvars:=indets(fp):\n#if not ` subset`(vars,varsF) then error `indeterminates in fp must be a subset \+ of indeterminates of ff` end if;\nvars:=sort(convert(vars,list)):\n### ##################################################################### \n#### if n<=2 we will use Maple but if n>=3 then we will use FGb pack age\n################################################################# #######\nxi:=op(varsF):\nyi:=seq(_y[k],k=1..m);\nT:=plex(xi,yi);\nif n <=1 then \n F:=[seq(ff[i] - _y[i],i=1..m)];\n GB:=Groebner:-Basis( F,T);\n else\n GB:=FGb:-fgb_gbasis([seq(ff[i]-_y[i],i=1..m)],0,[xi ,yi],[]);\nend if:\nr:=Groebner:-NormalForm(fp,GB,T);\nflag:=`subset`( indets(r),\{yi\});\nif not flag or nargs=2 then return flag end if;\ns ubs(\{seq(_y[i]=_f[i],i=1..m)\},r);\nend proc:\n\n#################### ########################################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 459 "SymmetricGroup:=proc(n::posint) local II,m,i,L,G;\no ptions `Copyright (c) 2007-2008 by Rafal Ablamowicz and Bertfried Faus er. All rights reserved.`,remember;\n################################# ###############################################\nII:=linalg:-diag(1$n) :\nL:=combinat:-permute(n);\nG:=[]:\nfor m in L do\nG:=[op(G),linalg:- augment(seq(linalg:-col(II,m[i]),i=1..n))];\nend do;\nreturn G;\nend p roc:\n\n############################################################\n " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 853 "permsign:=proc(L::list) local \+ newbas,ss,a,n12,s12,L1,L2,N,f,dummy_set,K,x;\noptions `Copyright (c) 2 007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights reserved .`;\n################################################################# ######\nL1:=L:\nN:=nops(L1):\nif N=1 then return 1 end if:\n########## ######## new\nn12,s12:=selectremove(member,L1,\{1,2,3,4,5,6,7,8,9\}); \n#s12:=remove(member,L1,\{1,2,3,4,5,6,7,8,9\});\nL2:=[op(sort(n12)),o p(sort(s12))];\n################## new\nf:=proc() end proc:\nfor ss fr om 1 to N do\n f(L2[ss]):=L1[ss];\nend do;\ndummy_set:=convert(L1,set );\nK:=0:\nwhile dummy_set <> \{\} do\n a:=dummy_set[1]:\n dummy_set :=dummy_set[2..-1];\n x:=a:\n while f(x)<>a do\n x:=f(x);\n \+ dummy_set:=dummy_set minus \{x\};\n K:=K+1;\n end do:\nend do; \nreturn (-1)^K;\nend proc:\n\n####################################### #####################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 572 "Alterna tingGroup:=proc(n::posint) local II,m,i,L,Leven,G;\noptions `Copyright (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights re served.`, remember;\n################################################# #######################################\nII:=linalg:-diag(1$n):\nL:=co mbinat:-permute(n);\nLeven:=[]:\nfor m in L do\n if SP:-permsign(m) =1 then Leven:=[op(Leven),m] end if;\nend do:\nG:=[]:\nfor m in Leven \+ do\nG:=[op(G),linalg:-augment(seq(linalg:-col(II,m[i]),i=1..n))];\nend do;\nreturn G;\nend proc:\n\n######################################## ####################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1473 "generat eGinvariants:=proc(vars::list(monomial)) local G,ord,nvars,T,i,j,INV,m ,n,s,alpha,mons,Rmons,rdim,cdim,size;\noptions `Copyright (c) 2007-200 8 by Rafal Ablamowicz and Bertfried Fauser. All rights reserved.`, rem ember:\n############################################################## #########################\nG:=op(procname);\nif not type(G,list(\{name ,symbol,matrix,algebraic\})) then \n error `index G must be of type \+ list(\{name,symbol,matrix,algebraic\})` end if;\nrdim,cdim:=convert(ma p(linalg:-rowdim,G),set),convert(map(linalg:-rowdim,G),set);\nif nops( rdim) <> 1 or nops(cdim) <> 1 or rdim <> cdim then\n error `matrices in the list G must be all square of the same size`\nend if:\n######## ####################################################\nsize:=op(rdim): \nnvars:=nops(vars):\nif nvars<>size then error `number of indetermina tes must equal the size of group G matrices` end if:\n################ ############################################\nord:=nops(G):\nT:=combin at:-cartprod([seq([seq(i,i=0..ord)],j=1..nvars)]):\nINV:=[]:\nwhile no t T[finished] do\n m:=T[nextvalue]():\n s:=add(i,i=m):\n \+ if s<=ord and s>0 then INV:=[op(INV),m] end if: \nend do;\nmons:=[se q(mul(vars[i]^alpha[i],i=1..nvars),alpha=INV)];\nRmons:=map(SP:-Reynol ds[G],mons,vars);\nRmons:=convert(convert(Rmons,set),list);\nRmons:=re move(type,Rmons,numeric);\n#return Rmons;\nRmons:=[seq(mm/content(mm), mm=Rmons)]:\nreturn Rmons; \nend proc:\n\n############################ ################################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 2551 "reduceGinvariants:=proc(L::list(polynom),varslist::list(\{symbol ,indexed\})) local i,m,mm,temp,Rmons,flag,stopflag,G,rdim,cdim,size,va rs,nvars:\noptions `Copyright (c) 2007-2008 by Rafal Ablamowicz and Be rtfried Fauser. All rights reserved.`, remember:\n#################### ####################################################################\n Rmons:=convert(convert(L,set),list);\nRmons:=remove(type,Rmons,numeric ):\n###########################################################\nG:=op (procname);\n######################################################### ##\nif not type(G,list(\{name,symbol,matrix,algebraic\})) then \n er ror `index G must be of type list(\{name,symbol,matrix,algebraic\})` e nd if;\nrdim,cdim:=convert(map(linalg:-rowdim,G),set),convert(map(lina lg:-rowdim,G),set);\nif nops(rdim) <> 1 or nops(cdim) <> 1 or rdim <> \+ cdim then\n error `matrices in the list G must be all square of the \+ same size`\nend if:\n################################################# ###########\nvars:=`union`(op(map(indets,L))):\nif not `subset`(vars,c onvert(varslist,set)) then \n error `variables in polynomial f must \+ be a subset of the set of the ring indeterminates`\nend if;\n######### ###################################################\nsize:=op(rdim):\n nvars:=nops(vars):\nif nvars>size then \n error `number of indetermi nates cannot exceed the size of group G matrices` \nend if:\n######### ###################################################\nif nops(varslist) <> size then \n error `size of group matrice s must equal the length of the variable list` \nend if:\n############# ###############################################\nif not \{op(map(SP:-i sGinvariant[G],Rmons,varslist))\}=\{true\} then\n error `at least on e of the polynomials in the list is not a G invariant`\nend if;\n##### #######################################################\nif nops(Rmons )=1 then return Rmons end if:\n####################################### #####################\nRmons:=sort(Rmons, (m1,m2)->Groebner:-TestOrder (m1,m2,'tdeg'(op(varslist))));\nRmons:=[seq(Rmons[nops(Rmons)-i+1],i=1 ..nops(Rmons))];\n#################################################### ########\nstopflag:=false:\ni:=1:\nwhile not stopflag do\n i;\n Rmons; \n m:=Rmons[i]:\n temp:=subsop(i=NULL,Rmons):\n flag:=SP:-isContained( m,temp);\n if flag then Rmons:=temp else\n if nops(Rmons)>i then i: =i+1 else stopflag:=true end if;\n end if;\nif i>nops(Rmons) then stop flag:=true end if:\nend do:\n#return Rmons;\nRmons:=[seq(mm/content(mm ),mm=Rmons)]:\nreturn Rmons;\nend proc:\n\n########################### #################################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1010 "SyzygyIdeal:=proc(ff::list(polynom)) local m,i,varsF,n,xi,yi,T,F ,_y,GB,IdealF;\noptions `Copyright (c) 2007-2008 by Rafal Ablamowicz a nd Bertfried Fauser. All rights reserved.`;\n######################### ##############################################\nm:=nops(ff):\nif not m >=1 then error `list ff must have at least one polynomial` end if:\n## ###################################\nvarsF:=sort(convert(`union`(seq(i ndets(ff[i]),i=1..m)),list));\nn:=nops(varsF):\nxi:=op(varsF):\nyi:=se q(_y[k],k=1..m);\nT:=plex(xi,yi);\nif n<=1 then \n F:=[seq(ff[i] - _ y[i],i=1..m)];\n GB:=Groebner:-Basis(F,T);\n else\n GB:=FGb:-fgb _gbasis([seq(ff[i]-_y[i],i=1..m)],0,[xi,yi],[]);\nend if:\n########### ##########################\nif GB=[0] then return GB end if:\n######## #############################\nIdealF:=[]:\nfor m in GB do\n if `su bset`(indets(m),\{yi\}) then IdealF:=[op(IdealF),m] end if;\nend do;\n if not IdealF=[] then return IdealF else return [0] end if;\nend proc: \n\n############################################################\n" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 422 "Dpolynom:=proc() local i,j,n;\nopt ions `Copyright (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser . All rights reserved.`;\n############################################ ###########################\nn:=nargs:\nif not n>=2 then error `number of indexed arguments needs to be at least two` end if:\n`*`(seq(seq(a rgs[i]-args[j],j=(i+1)..n),i=1..(n-1)));\nend proc:\n\n############### #############################################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 651 "ispartition:=proc(L::list(nonnegint)) local i,flag,n :\noptions `Copyright (c) 2007-2008 by Rafal Ablamowicz and Bertfried \+ Fauser. All rights reserved.`;\n###################################### #################################\nif nargs=2 and not type(args[2],non negint) then error `second argument, if used, must of type nonnegint` \+ end if:\nn:=nops(L):\nif nargs>2 then return args \n elif nargs=2 th en flag:=evalb(add(i,i=L)=args[2]) else flag:=true \nend if;\nif not f lag then return flag end if;\nfor i from 1 to n-1 while flag do\n f lag:=evalb(L[i]>=L[i+1])\nend do:\nreturn flag;\nend proc:\n\n######## ####################################################\n " }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 543 "create_partitions:=proc(d::nonnegint,n::nonne gint) local i,j,INV,m,s,T;\noptions `Copyright (c) 2007-2008 by Rafal \+ Ablamowicz and Bertfried Fauser. All rights reserved.`;\n############# ##########################################################\nT:=combina t:-cartprod([seq([seq(i,i=0..d)],j=1..n)]):\nINV:=[]:\nwhile not T[fin ished] do\n m:=T[nextvalue]():\n s:=add(i,i=m):\n if s= d and s>0 and SP:-ispartition(m) then INV:=[op(INV),m] end if: \nend d o;\nreturn INV;\nend proc:\n\n######################################## ####################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 617 "maxminde gree:=proc(f::polynom,T::\{MonomialOrder,ShortMonomialOrder\}) local d egrees,c,m,L,ff;\noptions `Copyright (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights reserved.`;\n####################### ################################################\nff:=expand(f):\ndegr ees:=[]:\nwhile ff<>0 do\nc,m:=Groebner:-LeadingTerm(ff,T);\nif nops(i ndets(m))>1 then\n L:=[op(m)];\n degrees:=[op(degrees),`+`(op(map( degree,L)))];\nelse\n degrees:=[op(degrees),degree(m)];\nend if;\nff :=ff-c*m;\nend do;\nreturn [max(op(degrees)),min(op(degrees))];\nend p roc:\n\n############################################################\n " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 829 "Molien_series:=proc(indet::\{s ymbol\}) local G,n,m,In,Gord,S,N;\noptions `Copyright (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights reserved.`;\n###### #################################################################\nG:= op(1,procname);\nGord:=nops(G);\nn:=convert(map(linalg:-coldim,G),set) ;\nm:=convert(map(linalg:-rowdim,G),set);\nif nargs=2 and not type(arg s[2],posint) then \n error `second argument, when used, must be a po sitive integer`\nend if:\nif nargs=1 then N:=Order else N:=args[2] end if:\nif nops(n)<>1 or nops(m)<>1 or not evalb(n=m) then \n error `m atrices must be square` \nend if;\nn:=op(n):\nIn:=linalg:-diag(1$n);\n S:=0:\nfor m in G do\nS:=S+linalg:-det(In-indet*evalm(m))^(-1);\nend d o;\nS:=series(normal(S/Gord),indet,N):\nreturn S;\nend proc:\n\n###### ######################################################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1077 "Hilbert_series:=proc(R::list(homogeneouspol ynom),indet::symbol) local F,numerz,degF,N,m,vars,d,i;\noptions `Copyr ight (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All right s reserved.`;\n####################################################### ################\nF:=op(1,procname):\nif not type(F,\{symbol,name,homo geneouspolynom\}) then \n error `index F when used must of type homo geneouspolynom` \nend if;\nif evalb(F='F') then numerz:=1 else\n deg F:=degree(F,convert(indets(F),list));\n numerz:=indet^degF;\nend if: \nif not evalb(SP:-SyzygyIdeal(R)=[0]) then \n error `polynomials in list R must be algebraically independent, but they are not: Their syz ygy ideal is not [0].`\nend if;;\nif nargs=3 and not type(args[3],posi nt) then \n error `third argument, when used, must be a positive int eger`\nend if:\nif nargs=2 then N:=Order else N:=args[3] end if:\nm:=n ops(R):\nvars:=op(sort(convert(`union`(op(map(indets,R))),list)));\nd: =map(degree,R);\nseries(numerz*`mul`((1-indet^d[i])^(-1),i=1..m),indet ,N);\nend proc:\n\n################################################### #########\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3089 "FiniteGroups:=proc (G::symbol) local k,A,A1,A2,A12,A21,_C2,_C3,_C4,_C6,_C8,_D6,_D8,_V4,_G 8,n,T,K:\noptions `Copyright (c) 2007-2008 by Rafal Ablamowicz and Ber tfried Fauser. All rights reserved.`, remember;\n##################### ###################################################################\n# if nargs=0 then \n# K:=op(sort(map(op,[indices(op(4,eval(SP:-FiniteG roups)))]))):\n# print(K);\n# return Null; \n#end if;\n########### ######################################\nif G='C2' then \n A:=matrix( 2,2,[-1,0,0,-1]);\n _C2:=map(evalm,[linalg:-diag(1$2),A]);\n retur n _C2;\n##################################################\nelif G='C3 ' then\n A:=matrix(2,2,[0,-1,1,-1]);\n _C3:=[linalg:-diag(1$2),seq (evalm(A^k),k=1..2)]:\n############################################### ###\nelif G='C4' then\n A:=matrix(2,2,[0,-1,1,0]):\n _C4:=[linalg: -diag(1$2),seq(evalm(A^k),k=1..3)]:\n return _C4;\n################# #################################\nelif G='C6' then\n A:=matrix(2,2, [0,1,-1,1]);\n _C6:=[linalg:-diag(1$2),seq(evalm(A^k),k=1..5)]:\n### ###############################################\nelif G='C8' then\n \+ A[1]:=matrix(3,3,[1,0,0,0,1,0,0,0,1]):\n A[2]:=matrix(3,3,[1,0,0,0,1 ,0,0,0,-1]):\n A[3]:=matrix(3,3,[1,0,0,0,-1,0,0,0,1]):\n A[4]:=mat rix(3,3,[1,0,0,0,-1,0,0,0,-1]):\n A[5]:=matrix(3,3,[-1,0,0,0,1,0,0,0 ,1]):\n A[6]:=matrix(3,3,[-1,0,0,0,1,0,0,0,-1]):\n A[7]:=matrix(3, 3,[-1,0,0,0,-1,0,0,0,1]):\n A[8]:=matrix(3,3,[-1,0,0,0,-1,0,0,0,-1]) :\n _C8:=map(evalm,[seq(A[i],i=1..8)]);\n return _C8;\n########### #######################################\nelif G='D6' then\n A1,A2: =linalg:-diag(1,-1,-1),matrix(3,3,[1/2,-sqrt(3)/2,0,sqrt(3)/2,1/2,0,0, 0,1]);\n _D6:=map(evalm,[linalg:-diag(1,1,1),A2,A2^2,A2^3,A2^4,A2^ 5,A1,A1 &* A2, A1 &* A2^2, \n \+ A1 &* A2^3,A1 &* A2^4, A1 &* A2^5]);\n return _D6;\n############## ####################################\nelif G='D8' then\n A1,A2:=ma trix(2,2,[1/sqrt(2),1/sqrt(2),1/sqrt(2),-1/sqrt(2)]),matrix(2,2,[1,0,0 ,-1]):\n A12:=evalm(A1 &* A2):\n A21:=evalm(A2 &* A1):\n _ D8:=map(evalm,[linalg:-diag(1,1),A12^6 &* A2 &* A12^2,A12^6 &* A2, A12 ^6,A12 &* A1,A2,\n A12^4,A12^2,A 1,A12,A12^3,A12^5,A12^7,A2 &* A12,\n \+ A12^6 &* A2 &* A12^2 &* A12,A12^6 &* A2 &* A12^2 &* A12^7]);\n \+ return _D8;\n##################################################\neli f G='V4' then\n A1,A2:=matrix(2,2,[1,0,0,-1]),matrix(2,2,[-1,0,0,1 ]):\n _V4:=map(evalm,[linalg:-diag(1$2),A1,A2,A1 &* A2]);\n re turn _V4;\n##################################################\nelif G= 'G8' then\n n:=3: ##group will have order 2^n\n T:=combinat:-c artprod([seq([1,-1],i=1..n)]):\n _G8:=[]:\n while not T[finish ed] do _G8:=[op(_G8),linalg:-diag(op(T[nextvalue]()))] end do:\n r eturn _G8;\n##################################################\nelse \+ \nprintf(\"Group %s is not known to FiniteGroups. You can make it know n by assigning it to FiniteGroups('%s').\\n\",G,G);\nend if;\nend proc :\n\n############################################################\n" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 646 "load_remember_table:=proc(NAME:: \{string,symbol\}) local REM_TABLE,IND,ENTRIES,i;\noptions `Copyright \+ (c) 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights res erved.`;\n############################################################ ###########\nREM_TABLE:=readlib(cat('_',NAME,'_rem_table'));\nif evalb (indices(REM_TABLE)=NULL)=true then return NULL end if;\nIND:=[indices (REM_TABLE)];\nENTRIES:=[entries(REM_TABLE)]:\nfor i from 1 to nops(IN D) do\n NAME(op(IND[i])):=op(ENTRIES[i]);\nend do;\nprintf(\"Rememb er table of %s has been read and assigned\\n\",NAME);\nreturn NULL;\ne nd proc:\n\n########################################################## ##\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1149 "ModuleLoad:=proc() local \+ i,n,K;global `type/homogeneouspolynom`;\noptions `Copyright (c) 2007-2 008 by Rafal Ablamowicz and Bertfried Fauser. All rights reserved.`;\n ###################################################################### #\nSP:-load_remember_table('SymmetricGroup');\nSP:-load_remember_table ('AlternatingGroup');\nSP:-load_remember_table('Reynolds');\nSP:-load_ remember_table('FiniteGroups');\nSP:-load_remember_table('generateGinv ariants');\n##############################################\n#n:=nargs: \n#for i from 1 to n do\n# sigma[i]:=SP:-Sigma[i](args);\n#end do: \n###############################################\n`type/homogeneouspo lynom`:=proc(f::polynom) local vars,maxmin,T;\noptions `Copyright (c) \+ 2007-2008 by Rafal Ablamowicz and Bertfried Fauser. All rights reserve d.`;\n################################################################ #######\n vars:=op(sort(convert(indets(f),list))):\n T:=plex(v ars):\n maxmin:=SP:-maxmindegree(f,T):\n evalb(maxmin[1]=maxmi n[2]):\nend proc:\n###############################################\nun protect(D);\nreturn NULL;\nend proc:\n\n############################## ###############################\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1495 "ModuleUnload:=proc() global _SymmetricGroup_rem_table,_Alternati ngGroup_rem_table,\n_Reynolds_rem_table,_generateGinvariants_rem_table ,_FiniteGroups_rem_table;\noptions `Copyright (c) 2007-2008 by Rafal A blamowicz and Bertfried Fauser. All rights reserved.`;\n############## #########################################################\n########### ############################################\n_SymmetricGroup_rem_tabl e:=op(4,eval(SP:-SymmetricGroup)):\nif not _SymmetricGroup_rem_table=N ULL then savelib(_SymmetricGroup_rem_table) end if;\n################# ######################################\n_AlternatingGroup_rem_table:=o p(4,eval(SP:-AlternatingGroup)):\nif not _AlternatingGroup_rem_table=N ULL then savelib(_AlternatingGroup_rem_table) end if;\n############### ########################################\n_Reynolds_rem_table:=op(4,ev al(SP:-Reynolds)):\nif not _Reynolds_rem_table=NULL then savelib(_Reyn olds_rem_table) end if;\n############################################# ##########\n_FiniteGroups_rem_table:=op(4,eval(FiniteGroups)):\nif not _FiniteGroups_rem_table=NULL then savelib(_FiniteGroups_rem_table) en d if;\n#######################################################\n_gener ateGinvariants_rem_table:=op(4,eval(SP:-generateGinvariants)):\nif not _generateGinvariants_rem_table=NULL then savelib(_generateGinvariants _rem_table) end if;\n################################################# ######\n\n#n:=nargs:\n#for i from 1 to n do\n# sigma[i]:=SP:-Sigma[ i](args);\n#end do:\nreturn NULL;\nend proc:\n\nend module:" }}{PARA 6 "" 1 "" {TEXT -1 59 "Remember table of SymmetricGroup has been read \+ and assigned" }}{PARA 6 "" 1 "" {TEXT -1 61 "Remember table of Alterna tingGroup has been read and assigned" }}{PARA 6 "" 1 "" {TEXT -1 53 "R emember table of Reynolds has been read and assigned" }}{PARA 6 "" 1 " " {TEXT -1 57 "Remember table of FiniteGroups has been read and assign ed" }}{PARA 6 "" 1 "" {TEXT -1 64 "Remember table of generateGinvarian ts has been read and assigned" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "savelibname;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q7C:\\Maple11/Cl iffordlib6\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 125 "Note: If you hav e not created yet your library archive with march command before, unre mark this next command and execute it.\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "with(LibraryTools);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#72%1ActivationModuleG%1AddFromDirectoryG%'AuthorG%'BrowseG%3BuildFro mDirectoryG%/ConvertVersionG%'CreateG%'DeleteG%,FindLibraryG%,PrefixMa tchG%)PriorityG%%SaveG%-ShowContentsG%*TimestampG%4UpdateFromDirectory G%*WriteModeG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "ShowConten ts(libname[1]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#797&Q*Bigebra.m6\"7 (\"%2?\"#7\"#?\"#:\"#\"#\\\"'Ywc\"$x$7&Q/code_suppo rt.mF&7(F(F)F*F+\"#X\"#J\"'K5f\"$w%7&Q)Define.mF&7(F(F)F*F+\"#9\"#d\"' Q.a\"$$[7&Q>P.mF&7(F(F)F*F+\"#`\"#@\"'%Q8'\"$\"G7&Q&GfG.mF&7(F(F)F*F +\"#^\"\"*\"'&e,'\"$:(7&Q>_AlternatingGroup_rem_table.mF&7(F(F)F*F2\"# I\"#C\"'$Q;*FQ7&Q6_Reynolds_rem_table.mF&7(F(F)F*F2Ffn\"#D\"'km\"*\"$L %7&Q<_SymmetricGroup_rem_table.mF&Fen\"'*49*\"%%G#7&QA_generateGinvari ants_rem_table.mF&F[o\"'&G<*\"$#>7&Q+matcompL.mF&7(F(F)F*F+\"#8FG\"'D# [$\"&=X(7&Q+matcompR.mF&Fio\"'VFU\"&^M(7&Q+matquatL.mF&Fio\"'%>'\\\"&9 @#7&Q+matquatR.mF&Fio\"'3$=&\"&I?#7&Q+matrealL.mF&Fio\"'na6\"'9k67&Q+O ctonion.mF&7(F(F)F*F+FH\"\"%\"'J7i\"$P%7&Q,RJgrobner.mF&7(F(F)F*F+\"#f \"#]\"'y#G'\"%]57&Q%SP.mF&7(F(F)F*F2\"#HF@\"'!p$*)\"%867&Q+SchurFkt.mF &7(F(F)F*F2\"#6\"#F\"'$p;(\"%DQ7&Q:_FiniteGroups_rem_table.mF&F[o\"'(4 <*\"$)=7&Q<_implicitbezierpolynomial.mF&7(F(F)F*F2\"\"!FO\"'dkk\"&@7\" 7&Q+matrealR.mF&Fio\"'\")=B\"'Wj6" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 177 "\nOnce you have executed the above command, either you get a mess age that archive already exists, or, no error messag is returned. In e ither case, remark back the above command.\n" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 85 "Do not execute the next command unless \"savelibname\" \+ above returns \".../Cliffordlib\"\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "savelibname;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q7C: \\Maple11/Cliffordlib6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "savelib('SP');" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "ShowCont ents(libname[1]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#797&Q*Bigebra.m6 \"7(\"%2?\"#7\"#?\"#:\"#\"#\\\"'Ywc\"$x$7&Q/code_sup port.mF&7(F(F)F*F+\"#X\"#J\"'K5f\"$w%7&Q)Define.mF&7(F(F)F*F+\"#9\"#d \"'Q.a\"$$[7&Q>P.mF&7(F(F)F*F+\"#`\"#@\"'%Q8'\"$\"G7&Q&GfG.mF&7(F(F) F*F+\"#^\"\"*\"'&e,'\"$:(7&Q>_AlternatingGroup_rem_table.mF&7(F(F)F*F2 \"#I\"#C\"'$Q;*FQ7&Q6_Reynolds_rem_table.mF&7(F(F)F*F2Ffn\"#D\"'km\"* \"$L%7&Q<_SymmetricGroup_rem_table.mF&Fen\"'*49*\"%%G#7&QA_generateGin variants_rem_table.mF&F[o\"'&G<*\"$#>7&Q+matcompL.mF&7(F(F)F*F+\"#8FG \"'D#[$\"&=X(7&Q+matcompR.mF&Fio\"'VFU\"&^M(7&Q+matquatL.mF&Fio\"'%>' \\\"&9@#7&Q+matquatR.mF&Fio\"'3$=&\"&I?#7&Q+matrealL.mF&Fio\"'na6\"'9k 67&Q+Octonion.mF&7(F(F)F*F+FH\"\"%\"'J7i\"$P%7&Q,RJgrobner.mF&7(F(F)F* F+\"#f\"#]\"'y#G'\"%]57&Q%SP.mF&7(F(F)F*F2Ffn\"#G\"'xu\"*\"%867&Q+Schu rFkt.mF&7(F(F)F*F2\"#6\"#F\"'$p;(\"%DQ7&Q:_FiniteGroups_rem_table.mF&F [o\"'(4<*\"$)=7&Q<_implicitbezierpolynomial.mF&7(F(F)F*F2\"\"!FO\"'dkk \"&@7\"7&Q+matrealR.mF&Fio\"'\")=B\"'Wj6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "#Delete ('SP',libname[1]);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "#Show Contents(libname[1]);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "#D elete('_FiniteGroups_rem_table',libname[1]);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "ShowContents(libname[1]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#797&Q*Bigebra.m6\"7(\"%2?\"#7\"#?\"#:\"#\"#\\\"'Ywc\"$x$7&Q/code_support.mF&7(F(F)F*F+\"#X\"#J\"'K5f\"$w%7 &Q)Define.mF&7(F(F)F*F+\"#9\"#d\"'Q.a\"$$[7&Q>P.mF&7(F(F)F*F+\"#`\"# @\"'%Q8'\"$\"G7&Q&GfG.mF&7(F(F)F*F+\"#^\"\"*\"'&e,'\"$:(7&Q>_Alternati ngGroup_rem_table.mF&7(F(F)F*F2\"#I\"#C\"'$Q;*FQ7&Q6_Reynolds_rem_tabl e.mF&7(F(F)F*F2Ffn\"#D\"'km\"*\"$L%7&Q<_SymmetricGroup_rem_table.mF&Fe n\"'*49*\"%%G#7&QA_generateGinvariants_rem_table.mF&F[o\"'&G<*\"$#>7&Q +matcompL.mF&7(F(F)F*F+\"#8FG\"'D#[$\"&=X(7&Q+matcompR.mF&Fio\"'VFU\"& ^M(7&Q+matquatL.mF&Fio\"'%>'\\\"&9@#7&Q+matquatR.mF&Fio\"'3$=&\"&I?#7& Q+matrealL.mF&Fio\"'na6\"'9k67&Q+Octonion.mF&7(F(F)F*F+FH\"\"%\"'J7i\" $P%7&Q,RJgrobner.mF&7(F(F)F*F+\"#f\"#]\"'y#G'\"%]57&Q%SP.mF&7(F(F)F*F2 Ffn\"#G\"'xu\"*\"%867&Q+SchurFkt.mF&7(F(F)F*F2\"#6\"#F\"'$p;(\"%DQ7&Q: _FiniteGroups_rem_table.mF&F[o\"'(4<*\"$)=7&Q<_implicitbezierpolynomia l.mF&7(F(F)F*F2\"\"!FO\"'dkk\"&@7\"7&Q+matrealR.mF&Fio\"'\")=B\"'Wj6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 80 "################################################## ##############################" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 108 "The name of t he package is SP for Symmetric Polynomials package. You can load it vi a the with(SP); command:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "with(SP);" }}{PARA 6 "" 1 "" {TEXT -1 59 "Remember table of Symmetr icGroup has been read and assigned" }}{PARA 6 "" 1 "" {TEXT -1 61 "Rem ember table of AlternatingGroup has been read and assigned" }}{PARA 6 "" 1 "" {TEXT -1 53 "Remember table of Reynolds has been read and assi gned" }}{PARA 6 "" 1 "" {TEXT -1 57 "Remember table of FiniteGroups ha s been read and assigned" }}{PARA 6 "" 1 "" {TEXT -1 64 "Remember tabl e of generateGinvariants has been read and assigned" }}{PARA 12 "" 1 " " {XPPMATH 20 "6#7?%1AlternatingGroupG%)DpolynomG%-FiniteGroupsG%/Hilb ert_seriesG%-MatrixActionG%+ModuleLoadG%-ModuleUnloadG%.Molien_seriesG %)ReynoldsG%*SPversionG%.Schur_polynomG%&SigmaG%/SymmetricGroupG%,Syzy gyIdealG%*a_polynomG%2create_partitionsG%4generateGinvariantsG%)gpolyn omG%)hpolynomG%,isContainedG%-isGinvariantG%,isSymmetricG%,ispartition G%4load_remember_tableG%-maxmindegreeG%)permsignG%)powersumG%2reduceGi nvariantsG%2sigma_to_powersumG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "SymmetricGroup(2),SymmetricGroup(3),SymmetricGroup(4);" }} {PARA 12 "" 1 "" {XPPMATH 20 "6%7$K%'matrixG6#7$7$\"\"\"\"\"!7$F*F)Q(p print06\"KF%6#7$F+F(Q(pprint1F-7(KF%6#7%7%F)F*F*7%F*F)F*7%F*F*F)Q(ppri nt2F-KF%6#7%F6F8F7Q(pprint3F-KF%6#7%F7F6F8Q(pprint4F-KF%6#7%F8F6F7Q(pp rint5F-KF%6#7%F7F8F6Q(pprint6F-KF%6#7%F8F7F6Q(pprint7F-7:KF%6#7&7&F)F* F*F*7&F*F)F*F*7&F*F*F)F*7&F*F*F*F)Q(pprint8F-KF%6#7&FRFSFUFTQ(pprint9F -KF%6#7&FRFTFSFUQ)pprint10F-KF%6#7&FRFUFSFTQ)pprint11F-KF%6#7&FRFTFUFS Q)pprint12F-KF%6#7&FRFUFTFSQ)pprint13F-KF%6#7&FSFRFTFUQ)pprint14F-KF%6 #7&FSFRFUFTQ)pprint15F-KF%6#7&FTFRFSFUQ)pprint16F-KF%6#7&FUFRFSFTQ)ppr int17F-KF%6#7&FTFRFUFSQ)pprint18F-KF%6#7&FUFRFTFSQ)pprint19F-KF%6#7&FS FTFRFUQ)pprint20F-KF%6#7&FSFUFRFTQ)pprint21F-KF%6#7&FTFSFRFUQ)pprint22 F-KF%6#7&FUFSFRFTQ)pprint23F-KF%6#7&FTFUFRFSQ)pprint24F-KF%6#7&FUFTFRF SQ)pprint25F-KF%6#7&FSFTFUFRQ)pprint26F-KF%6#7&FSFUFTFRQ)pprint27F-KF% 6#7&FTFSFUFRQ)pprint28F-KF%6#7&FUFSFTFRQ)pprint29F-KF%6#7&FTFUFSFRQ)pp rint30F-KF%6#7&FUFTFSFRQ)pprint31F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "SPversion();" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%L+++ ++++++++++++++++++++++++++++++++++++++++G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%XSP~-~A~Maple~11~Small~Package~for~Symmetric~Polynomia lsG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%gnLast~revised:~December~20,~2 007~(Source~file:~SP_06_M11.mws)G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#% ^oCopyright~2007-2008~by~Rafal~Ablamowicz(*)~and~Bertfried~Fauser(**)G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%I(*)~~Department~of~Mathematics,~Box~5054G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%hn~~~~~Tennessee~Technological~University,~Cookeville, ~TN~38505G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%V~~~~~tel:~USA~(931)~37 2-3622,~fax:~USA~(931)~372-6353G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%< ~~~~~rablamowicz@tntech.eduG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%C~~~~ ~http://math.tntech.edu/rafal/G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%<( **)~University~of~KonstanzG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%C~~~~~ Fachbereich~Physik,~Fach~M678G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%W~~ ~~~Universit|_ytsstrasse~10,~D-78457~Konstanz,~GermanyG" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%?~~~~~Phone:~+49~(0)7531~693491G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%N~~~~~E-mail:~Bertfried.Fauser@uni-konstanz.deG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%U~~~~~http://clifford.physik.uni- konstanz.de/|irfauser/G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%ep++++++++++++This~is~Symmetric~Polyn omials~Package~(SP)~for~Maple~11~version~06++++++++++++G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "FiniteGroups('C2');" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$K%'matrixG6#7$7$\"\"\"\"\"!7$F*F)Q(pprint06\"KF% 6#7$7$!\"\"F*7$F*F2Q(pprint1F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "op(sort(map(op,[indices(op(4,eval(SP:-FiniteGroups)))])));" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%#C2G%#C4G" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 19 "with(code_support);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%inModule~code_cupport~ve r.~1.03~for~CLIFFORD~et~al.~for~Maple~11G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%apCopyright~(c)~2002-2008~by~Rafal~Ablamowicz~and~Bert fried~Fauser.~All~rights~reserved.G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%@Last~revised:~December~20,~2007G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7-%/NamesInLibraryG%1change_he lpfilesG%,change_nameG%*copy_fileG%)get_TEXTG%(get_dirG%1insert_helppa gesG%)makeLISTG%+modifyLISTG%0replace_in_fileG%&splitG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "NamesInLibrary(libname[1]);" }} {PARA 12 "" 1 "" {XPPMATH 20 "69Q*Bigebra.m6\"Q+Clifford.mF$Q*Cliplus. mF$Q)Define.mF$Q>P.mF$Q&GfG.mF$Q+Octonion.mF$Q,RJgrobner.mF$Q%SP.mF$ Q+SchurFkt.mF$Q>_AlternatingGroup_rem_table.mF$Q:_FiniteGroups_rem_tab le.mF$Q6_Reynolds_rem_table.mF$Q<_SymmetricGroup_rem_table.mF$QA_gener ateGinvariants_rem_table.mF$Q<_implicitbezierpolynomial.mF$Q/code_supp ort.mF$Q+matcompL.mF$Q+matcompR.mF$Q+matquatL.mF$Q+matquatR.mF$Q+matre alL.mF$Q+matrealR.mF$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 29 "Cookeville, December 20, 2007" } }}}{MARK "31 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }