{VERSION 5 0 "APPLE_PPC_MAC" "5.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 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2864 "ppoly := proc(pe, \+ vb, n, x, nlist, max)\n local i, j, dcycle, clen, ob10, nb10, res, \+ cyct, vs,\n vc, plist, k, dg, nsum, tmp, m, ct, tmax;\n vs := [];\n vc := [];\n plist := \{\};\n tmax := max;\n for \+ i from 1 to n do\n vs := [vb[i], op(vs)];\n vc := [vb[i] , op(vc)];\n od:\n res := 1;\n dg := 0;\n cyct := 0;\n \+ if linalg[vectdim](pe) = 0 then\n res := res * x[1];\n dg \+ := dg + 1;\n fi:\n if linalg[vectdim](pe) <> 0 then\n ob10 := convert([seq(vs[linalg[vectdim](vs) - ct + 1],\n ct \+ = 1 .. linalg[vectdim](vs))], base, 2, 10);\n if linalg[vectdim] (ob10) > 1 then\n m := linalg[vectdim](ob10);\n nsum := 0;\n for i from 1 to m do\n nsum := nsum + o b10[m-i+1]*10^(m-i);\n od:\n ob10 := subsop(1 = nsum , ob10);\n fi:\n if linalg[vectdim](ob10) = 0 then\n \+ res := res*x[1];\n dg := dg+1;\n plist := plist \+ union \{0\};\n else\n if (member(ob10[1], nlist) = fals e) and\n (linalg[vectdim](pe) <> 0)\n then\n \+ plist := plist union \{ob10[1]\};\n nb10 := -1;\n \+ cyct := 0;\n while nb10 <> ob10[1] do\n cyct \+ := cyct + 1;\n for i from 1 to linalg[vectdim](pe) do\n \+ dcycle := pe[i];\n clen := linalg[vec tdim](dcycle);\n for j from 1 to clen-1 do\n \+ vs := \n subsop(dcycle[j+1]= vc[dcyc le[j]], vs);\n od;\n vs := \n \+ subsop(dcycle[1] = vc[dcycle[clen]], vs);\n \+ for k from 1 to n do\n vc := subsop(k = vs[k], \+ vc);\n od:\n od:\n plist := plist union \{nb10\};\n if linalg[vectdim](convert\n \+ ([seq(vs[linalg[vectdim](vs) - ct + 1],\n \+ ct = 1 .. linalg[vectdim](vs))],\n base, 2 , 10)) > 1\n then\n nsum := 0;\n \+ tmp := convert\n ([seq(vs[linalg[vectdim]( vs) - ct + 1],\n ct = 1 .. linalg[vectdim](vs) )],\n base, 2, 10);\n m := lin alg[vectdim](tmp);\n for i from 1 to m do\n \+ nsum := nsum + tmp[m-i+1]*10^(m-i);\n od:\n \+ nb10 := nsum;\n else\n nb 10 := convert\n ([seq(vs[linalg[vectdim](vs) - ct \+ + 1],\n ct = 1 .. linalg[vectdim](vs))],\n \+ base, 2, 10)[1];\n fi:\n od ;\n dg := dg + cyct;\n res := res*x[cyct];\n \+ if cyct > tmax then\n tmax := cyct;\n fi:\n \+ fi;\n fi;\n fi;\n RETURN(res, plist, dg, tmax);\nend :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1952 "switch := proc(n, x, maxsub)\n local vs, i, j, k, pg, bk, nsw, pe, bki, pn, allpoly,\n \+ mon, nlist, dg, vres, colist, pnum, part, pgel,\n jn um, vt, pct, multiplicity, m;\n vs := linalg[vector](n, 0);\n vt := linalg[vector](n, 0);\n nsw := 2^n;\n multiplicity := proc(y , j)\n j[y] := j[y] + 1;\n end:\n allpoly := 0;\n nlis t := \{\};\n pg := []:\n colist := []:\n for pnum from 1 to c ombinat[numbpart](n) do\n for i from 1 to n do\n j[i ] := 0:\n od:\n if pnum = 1 then\n part := com binat[firstpart](n);\n else\n part := combinat[nextpa rt](part);\n fi:\n map(multiplicity, part, 'j'):\n \+ pgel := [];\n pct := 0;\n for i from 2 to n do\n \+ for jnum from 1 to j[i] do\n pgel := [op(pgel),\n [seq(pct + (jnum-1)*i + k, k = 1..i)]];\n o d:\n pct := pct + i*j[i];\n od:\n pg := [op(p g), pgel];\n colist := [op(colist),\n product(1/('k'^j[' k']*j['k']!), 'k' = 1..n)];\n od:\n m := 1;\n for i from 1 to nops(pg) do\n pe := pg[i];\n nlist := \{\};\n mo n := 1;\n dg := 0;\n for j from 0 to nsw-1 do\n \+ bk := convert(j, base, 2);\n bki := linalg[vectdim](bk); \n for k from 1 to n do\n vs[k] := 0;\n \+ od:\n for k from 1 to bki do\n vs[k] \+ := bk[k];\n od:\n for k from 1 to linalg[vectdim ](vs) do\n vt[linalg[vectdim](vs)-k+1] := vs[k];\n \+ od:\n vres := ppoly(pe, vs, n, x, nlist, m);\n \+ pn := vres[1];\n nlist := nlist union vres[2];\n \+ dg := dg + vres[3];\n m := vres[4];\n mon := simplify(mon*pn);\n od:\n mon := colist[i] * mon * x [1]^(2^n-dg);\n allpoly := simplify(allpoly + mon);\n od:\n \+ maxsub := m;\n RETURN(allpoly);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "f := switch(3, x, 'maxsub');" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,(*$)&%\"xG6#\"\"\"\"\")F+#F+\"\"'*(#F+\"\"#F+)F( \"\"%F+)&F)6#F1F1F+F+*(#F+\"\"$F+)F(F1F+)&F)6#F9F1F+F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "f := unapply(f, x[1], x[2], x[3]); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6%%$x_1G%$x_2G%$x_3G6\"6$% )operatorG%&arrowGF*,(*$)9$\"\")\"\"\"#F3\"\"'*(#F3\"\"#F3)F1\"\"%F3)9 %F8F3F3*(#F3\"\"$F3)F1F8F3)9&F8F3F3F*F*F*" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 11 "f(2, 2, 2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#! )" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "simplify(f(A+B, A^2+B^ 2, A^3+B^3));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,4*$)%\"AG\"\")\"\"\" F(*$)%\"BGF'F(F(*(\"\"%F()F&\"\"(F(F+F(F(*(\"\"*F()F&\"\"'F()F+\"\"#F( F(*(\"#;F()F&\"\"&F()F+\"\"$F(F(*(\"#?F()F&F-F()F+F-F(F(*(F7F()F&F;F() F+F9F(F(*(F1F()F&F5F()F+F3F(F(*(F-F(F&F()F+F/F(F(" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "0 0 0" 0 }{VIEWOPTS 1 1 0 3 2 1804 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }