{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 } {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 "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 "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT -1 326 "This worksheet initialize s remember tables for certain procedures in the package 'SP'.\n\nIn or der to insert the SP package into a Maple archive, this worksheet need s to be executed first. Procedures in this worksheet belong to the SP \+ package and their remember tables are initialized here.\n\n\nCookevill e, TN, December 20, 2007\n\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "restart:\nlibname[1];\nsavelibname;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q7C:\\Maple11/Cliffordlib6\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q7C:\\Maple11/Cliffordlib6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 577 "SymmetricGroup:=proc(n::posint) local II,m,i,L,G; \noption remember;\nII:=linalg:-diag(1$n):\nL:=combinat:-permute(n);\n G:=[]:\nfor m in L do\nG:=[op(G),linalg:-augment(seq(linalg:-col(II,m[ i]),i=1..n))];\nend do;\nreturn G;\nend proc:\nSymmetricGroup(2):=[mat rix([[1, 0], [0, 1]]), matrix([[0, 1], [1, 0]])];\nSymmetricGroup(3):= [matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]]), matrix([[1, 0, 0], [0, 0, \+ 1], [0, 1, 0]]), matrix([[0, 1, 0], [1, 0, 0], [0, 0, 1]]), matrix([[0 , 0, 1], [1, 0, 0], [0, 1, 0]]), matrix([[0, 1, 0], [0, 0, 1], [1, 0, \+ 0]]), matrix([[0, 0, 1], [0, 1, 0], [1, 0, 0]])];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>-%/SymmetricGroupG6#\"\"#7$K%'matrixG6#7$7$\"\"\"\"\"! 7$F/F.Q(pprint06\"KF*6#7$F0F-Q(pprint1F2" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>-%/SymmetricGroupG6#\"\"$7(K%'matrixG6#7%7%\"\"\"\"\"!F/7%F/F.F /7%F/F/F.Q(pprint06\"KF*6#7%F-F1F0Q(pprint1F3KF*6#7%F0F-F1Q(pprint2F3K F*6#7%F1F-F0Q(pprint3F3KF*6#7%F0F1F-Q(pprint4F3KF*6#7%F1F0F-Q(pprint5F 3" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "_SymmetricGroup_rem_ta ble:=op(4,eval(SymmetricGroup));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% :_SymmetricGroup_rem_tableGK%&TABLEG6#7$/\"\"#7$K%'matrixG6#7$7$\"\"\" \"\"!7$F2F1Q(pprint06\"KF-6#7$F3F0Q(pprint1F5/\"\"$7(KF-6#7%7%F1F2F27% F2F1F27%F2F2F1Q(pprint2F5KF-6#7%F@FBFAQ(pprint3F5KF-6#7%FAF@FBQ(pprint 4F5KF-6#7%FBF@FAQ(pprint5F5KF-6#7%FAFBF@Q(pprint6F5KF-6#7%FBFAF@Q(ppri nt7F5Q(pprint8F5" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "savelib name;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q7C:\\Maple11/Cliffordlib6\" " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 86 "if not _SymmetricGroup_ rem_table=NULL then savelib(_SymmetricGroup_rem_table) end if;\n" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 75 "############################ ###############################################" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 530 "AlternatingGroup:=proc(n::posint) local II,m,i,L,Leven,G;\noption rem ember;\nII:=linalg:-diag(1$n):\nL:=combinat:-permute(n);\nLeven:=[]:\n for 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:\nAlter natingGroup(2):=[matrix([[1, 0], [0, 1]])];\nAlternatingGroup(3):=[mat rix([[1, 0, 0], [0, 1, 0], [0, 0, 1]]), matrix([[0, 0, 1], [1, 0, 0], \+ [0, 1, 0]]), matrix([[0, 1, 0], [0, 0, 1], [1, 0, 0]])];" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>-%1AlternatingGroupG6#\"\"#7#K%'matrixG6#7$7$\" \"\"\"\"!7$F/F.Q(pprint06\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>-%1Alt ernatingGroupG6#\"\"$7%K%'matrixG6#7%7%\"\"\"\"\"!F/7%F/F.F/7%F/F/F.Q( pprint06\"KF*6#7%F1F-F0Q(pprint1F3KF*6#7%F0F1F-Q(pprint2F3" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 149 "_AlternatingGroup_rem_table:=op(4, eval(AlternatingGroup)):\nif not _AlternatingGroup_rem_table=NULL then savelib(_AlternatingGroup_rem_table) end if;\n" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 76 " ###################################################################### ######" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 397 "Reynolds:=proc(f::polynom, varslist::lis t(\{symbol,indexed\})) local G,m:\noption remember;\nG:=op(procname); \nif not type(G,list(\{name,symbol,matrix,algebraic\})) then \n erro r `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:\nf := x*y+x*z+y*z:\nS3:=SymmetricGroup(3):\nReynolds[S3](f ,[x,y,z]):=x*y+x*z+y*z:\n\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 117 "_Reynolds_rem_table:=op(4,eval(Reynolds)):\nif not _Reynolds_rem_ table=NULL then savelib(_Reynolds_rem_table) end if;\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 75 "################################### ########################################" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2264 "Finit eGroups:=proc(G::symbol) local k,A,A1,A2,A12,A21,_C2,_C4,_C8,_D6,_D8,_ V4:\noption remember;\n############################################### ###\nif G='C2' then \n A:=matrix(2,2,[-1,0,0,-1]);\n _C2:=map(eval m,[linalg:-diag(1$2),A]);\n return _C2;\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='C8' the n\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 ]:=matrix(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]:=mat rix(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:=matrix(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 &* A 2, A12^6,A12 &* A1,A2,\n A12^4,A 12^2,A1,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################################################# #\nelif 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 \+ return _V4;\n\n \n################################################ ##\nelse \nprintf(\"Group %s is not known to FiniteGroups. You can mak e it known by assigning it to FiniteGroups('%s').\\n\",G,G);\nend if; \n\nend proc:\n\nFiniteGroups('C4'):=[matrix([[1, 0], [0, 1]]), matrix ([[0, -1], [1, 0]]), matrix([[-1, 0], [0, -1]]), matrix([[0, 1], [-1, \+ 0]])]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 133 "_FiniteGroups_re m_table:=op(4,eval(FiniteGroups)):\nif not _FiniteGroups_rem_table=NUL L then savelib(_FiniteGroups_rem_table) end if;\n" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 51 "############################################ #######" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1369 "generateGinvariants:=proc(vars::l ist(monomial)) local G,ord,nvars,T,i,j,INV,\nm,n,s,alpha,mons,Rmons,rd im,cdim,size;\noption remember:\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;\nrdim,cdim:=convert(map(li nalg:-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):\nnva rs:=nops(vars):\nif nvars<>size then error `number of indeterminates m ust equal the size of group G matrices` end if:\n##################### #######################################\nord:=nops(G):\nT:=combinat:-c artprod([seq([seq(i,i=0..ord)],j=1..nvars)]):\nINV:=[]:\nwhile not T[f inished] 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:=[seq(mul (vars[i]^alpha[i],i=1..nvars),alpha=INV)];\nRmons:=map(SP:-Reynolds[G] ,mons,vars);\nRmons:=convert(convert(Rmons,set),list);\nRmons:=remove( type,Rmons,numeric);\n#return Rmons;\nRmons:=[seq(mm/content(mm),mm=Rm ons)]:\nreturn Rmons; \nend proc:\n\nS2:=SymmetricGroup(2):\ngenerateG invariants[S2]([x,y]):=[x*y, y+x, x^2+y^2]:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 161 "_generateGinvariants_rem_table:=op(4,eval(gener ateGinvariants)):\nif not _generateGinvariants_rem_table=NULL then sav elib(_generateGinvariants_rem_table) end if;\n" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 76 " ###################################################################### ######" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "restart:with(Libr aryTools);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#72%1ActivationModuleG%1A ddFromDirectoryG%'AuthorG%'BrowseG%3BuildFromDirectoryG%/ConvertVersio nG%'CreateG%'DeleteG%,FindLibraryG%,PrefixMatchG%)PriorityG%%SaveG%-Sh owContentsG%*TimestampG%4UpdateFromDirectoryG%*WriteModeG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "ShowContents(libname[1]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#787&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>_AlternatingGroup_rem_table.mF&7(F(F)F*F2\"#E\"#M\"''f#*)FQ7&Q6_Reyn olds_rem_table.mF&7(F(F)F*F2Ffn\"#O\"'xG*)\"$L%7&Q<_SymmetricGroup_rem _table.mF&7(F(F)F*F2Ffn\"#K\"'^@*)\"$X%7&QA_generateGinvariants_rem_ta ble.mF&7(F(F)F*F2FfnF3\"')\\$*)\"$#>7&Q<_implicitbezierpolynomial.mF&7 (F(F)F*F2\"\"!FO\"'dkk\"&@7\"7&Q+matcompL.mF&7(F(F)F*F+\"#8FG\"'D#[$\" &=X(7&Q+matcompR.mF&Fbp\"'VFU\"&^M(7&Q+matquatL.mF&Fbp\"'%>'\\\"&9@#7& Q+matquatR.mF&Fbp\"'3$=&\"&I?#7&Q+matrealL.mF&Fbp\"'na6\"'9k67&Q+Octon ion.mF&7(F(F)F*F+FH\"\"%\"'J7i\"$P%7&Q,RJgrobner.mF&7(F(F)F*F+\"#f\"#] \"'y#G'\"%]57&Q+SchurFkt.mF&7(F(F)F*F2\"#6\"#F\"'$p;(\"%DQ7&Q:_FiniteG roups_rem_table.mF&7(F(F)F*F2Ffn\"#Q\"'5L*)\"$)=7&Q+matrealR.mF&Fbp\"' \")=B\"'Wj6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "with(code_su pport);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%inModule~code_cupport~ver.~1.03~for~CLIFFORD~et~al.~fo r~Maple~11G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%apCopyright~(c)~2002-2 008~by~Rafal~Ablamowicz~and~Bertfried~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_helpfilesG%,change_nameG%*copy_fileG%)ge t_TEXTG%(get_dirG%1insert_helppagesG%)makeLISTG%+modifyLISTG%0replace_ in_fileG%&splitG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "NamesIn Library(libname[1]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "68Q*Bigebra.m6\" Q+Clifford.mF$Q*Cliplus.mF$Q)Define.mF$Q>P.mF$Q&GfG.mF$Q+Octonion.mF $Q,RJgrobner.mF$Q+SchurFkt.mF$Q>_AlternatingGroup_rem_table.mF$Q:_Fini teGroups_rem_table.mF$Q6_Reynolds_rem_table.mF$Q<_SymmetricGroup_rem_t able.mF$QA_generateGinvariants_rem_table.mF$Q<_implicitbezierpolynomia l.mF$Q/code_support.mF$Q+matcompL.mF$Q+matcompR.mF$Q+matquatL.mF$Q+mat quatR.mF$Q+matrealL.mF$Q+matrealR.mF$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 29 "Cookeville, December 20, 2007" }}} }{MARK "30 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }