{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 "" {MPLTEXT 1 0 25 "restart: with(algcur ves):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 264 "The puiseux program can give unnecessarily large answers. Reading the following code into Map le before using the puiseux command will help to prevent one (but not \+ all) of the causes of these large answers, namely it will help to prev ent some unnecessary expanding." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2225 "`algcurves/lift_exp` := proc(v, f, x, y)\nlocal i, ii, r, res, v7, vv7, v3, ext, a, j, n, \+ np, ram, j3;\n if v[5] = 1 then return \{v\} end if;\n v3 := deg ree(v[3], x);\n res := \{\};\n r := v[1] + y*x^v[2];\n vv7 := v[7]*v3 + v[2] - 1;\n vv7 := vv7 + v[5];\n ii := `algcurves/tru ncate_subs`(subs(x = v[3], f), x, y, r, vv7 + 1,\n v[4]);\n \+ if ii = 0 then error \"degree estimate was wrong\" end if;\n v7 := \+ (ldegree(ii, x) - v[2])/v3;\n r := `algcurves/v_ext_m`(\n `a lgcurves/g_factors`(tcoeff(ii, x), y, v[4]), y);\n for i in r do re s := res union `algcurves/lift_exp`([\n v[1] + x^v[2]*i[1], v[2 ] + 1, v[3], [op(i[3]), op(v[4])], i[2],\n v[6]*i[4], v7, [op(v [8]), [op(1 .. 4, v)]]], f, x, y)\n end do;\n if add(i[5]*i[6]*d egree(i[3], x)/(v[6]*v3), i = res) <>\n degree(tcoeff(ii, x), y) th en error \"found wrong number of expansions\"\n end if;\n if v[5 ] = degree(tcoeff(ii, x), y) then\n if ldegree(ii, x) <> vv7 th en error \"degree estimate was wrong\"\n end if;\n retur n res\n end if;\n ii := collect(ii, y);\n ii := add(`algcurve s/normal_tcoeff`(coeff(ii, y, i), x)*y^i,\n i = 0 .. degree(ii, y));\n np := `algcurves/Newtonpolygon`(ii, x, y);\n if nops(np) = 2 and np[1][3] = 0 then\n error \"found wrong number of expa nsions\"\n end if;\n for j in np do\n if 2 < nops(j) and \+ 0 < j[3] and j[3] < 1 then\n r := `algcurves/g_factors`(j[4 ], x, v[4]);\n r := `algcurves/v_ext_m`(r, x);\n \+ for i in r do\n j3 := j[3] - v[2];\n ex t := [op(i[3]), op(v[4])];\n n := mods(1/numer(j3), den om(j3));\n ram := i[1]^n*x^denom(j3);\n \+ a := v[2]*denom(j3) - numer(j[3]);\n res := res union ` algcurves/lift_exp`([collect(\n subs(x = ram, v[1]) \n + x^a*i[1]^((1 - n*numer(j3))/denom(j3)), x, no rmal),\n a + 1, normal(subs(x = ram, v[3])), ext, i [2],\n v[6]*i[4],\n (j[2] - j[1] *j[3] - a/degree(ram, x))/degree(v[3], x),\n [op(v[ 8]), [op(1 .. 4, v)]]], f, x, y)\n end do\n end if\n end do;\n res\nend proc:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "A:=a*x^4+b*x^2*y+c*x*y^2+d*y^3+e*x^3*y+f*x^2*y^2+g*x*y^3+h*y^4 ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG,2*&)%\"xG\"\"%\"\"\"%\"aGF *F**()F(\"\"#F*%\"bGF*%\"yGF*F**(F(F*%\"cGF*)F0F.F*F**&%\"dGF*)F0\"\"$ F*F**(%\"eGF*)F(F7F*F0F*F**(%\"fGF*F-F*F3F*F**(%\"gGF*F(F*F6F*F**&%\"h GF*)F0F)F*F*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 21 "define polynomial [1]" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "puiseux(A,x=0,y,0); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<%\"\"!,$*&%\"dG\"\"\"%\"hG!\"\"F* *&%\"xGF(-%'RootOfG6#,(%\"bGF(*&%\"cGF(%#_ZGF(F(*&F'F()F4\"\"#F(F(F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "discrim=0 [4]" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "A1:=eval(A,b=c^2/d/4);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%#A1G,2*&)%\"xG\"\"%\"\"\"%\"aGF*F**,F)!\"\"F(\"\"#% \"cGF.%\"dGF-%\"yGF*F**(F(F*F/F*)F1F.F*F**&F0F*)F1\"\"$F*F**(%\"eGF*)F (F6F*F1F*F**(%\"fGF*)F(F.F*F3F*F**(%\"gGF*F(F*F5F*F**&%\"hGF*)F1F)F*F* " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 25 "reevaluate polynomial [3]" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "puiseux(A1,x=0,y,0);" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#<%\"\"!,$*&%\"dG\"\"\"%\"hG!\"\"F*,&*, \"#kF*,,**\"\")F(%\"eGF(%\"cGF()F'\"\"$F(F(**\"\"%F(%\"fGF()F2\"\"#F() F'F9F(F**(\"#;F(%\"aGF()F'F6F(F***F9F(%\"gGF()F2F4F(F'F(F(*&F)F()F2F6F (F*F9F2!\"#F'!\"),$*,F0F(%\"xGF(F.F*F2F(F'F6F*#F4F9F(**F9F*FHF(F2F(F'F *F*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 15 "numerator=0 [2]" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "solve(8*e*c*d^3-4*f*c^2*d^2- 16*a*d^4+2*g*c^3*d-h*c^4,a);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$**\" #;!\"\"%\"cG\"\"\",**(\"\")F(%\"eGF()%\"dG\"\"$F(F(**\"\"%F(%\"fGF(F'F ()F.\"\"#F(F&**F4F(%\"gGF()F'F4F(F.F(F(*&%\"hGF()F'F/F(F&F(F.!\"%F(" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "A2:=eval(A1,a=%);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A2G,2*,\"#;!\"\"%\"xG\"\"%%\"cG\"\" \",**(\"\")F,%\"eGF,)%\"dG\"\"$F,F,**F*F,%\"fGF,F+F,)F2\"\"#F,F(**F7F, %\"gGF,)F+F7F,F2F,F,*&%\"hGF,)F+F3F,F(F,F2!\"%F,*,F*F(F)F7F+F7F2F(%\"y GF,F,*(F)F,F+F,)F@F7F,F,*&F2F,)F@F3F,F,*(F0F,)F)F3F,F@F,F,*(F5F,)F)F7F ,FBF,F,*(F9F,F)F,FDF,F,*&F " 0 "" {MPLTEXT 1 0 20 "puiseux(A2,x=0,y,0);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<&\"\"!,$*&%\"dG\"\"\"%\"hG!\"\"F*,$**\"\"#F*%\"xGF(%\"cGF(F'F*F*,& **F-F*F.F(F/F(F'F*F**,F-F*F.F-,**(\"\"%F(%\"eGF()F'\"\"$F(F(**F5F(%\"f GF(F/F()F'F-F(F***F8F(%\"gGF()F/F-F(F'F(F(*(F-F(F)F()F/F8F(F*F(F/F*F'! \"$F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 20 "Cases exhausted. [6]" }} }}{MARK "3 0 0" 1754 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }