{VERSION 6 0 "IBM INTEL LINUX" "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 Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 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 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 270 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 273 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 274 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 275 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 276 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 280 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 281 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 282 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 283 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 284 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 285 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 286 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 287 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 288 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 289 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 290 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 291 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 292 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 293 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 294 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 295 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 296 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 297 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 298 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 299 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 300 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 301 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 304 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 305 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 306 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 308 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 309 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 310 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 311 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 312 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 313 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 314 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 315 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 316 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 317 "" 1 14 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 318 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 319 "" 1 14 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 320 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 321 "" 1 14 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 322 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 369 "lucidatypewriter" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 370 "lucidatypewriter" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 371 "helvetica" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 372 "lucidatypewriter" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 373 "lucidatypewriter" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 374 "lucidatypewriter" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 376 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 377 "lucidatypewriter" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 0 } 1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE " " -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Diagnostic" 7 9 1 {CSTYLE "" -1 -1 "" 0 1 64 128 64 1 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 "Ma ple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{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 }{PSTYLE "Maple Plot" 0 13 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Title" 0 18 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 1 0 0 0 0 0 0 1 }3 0 0 -1 12 12 0 0 0 0 0 0 19 0 }{PSTYLE "" 0 256 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 34 "MAPLE Notes for Algebraic Geometry" }}}{EXCHG {PARA 256 "" 0 "" {TEXT -1 131 "Michael Monagan\n Department of Mathematics\nSimon Fraser University\nAugust, 1998.\nUpd ated August 2002, September 2004, January 2009." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 243 "These notes are for Maple V Release 10. They are platform indepe ndent, i.e., they are the same for the Macintosh, PC, and Unix version s of Maple. These notes should be backwards compatible with Maple 9 a nd forwards compatible with Maple 11. " }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 21 "Maple as a Calculator" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "Input of a numerical calculation uses " }{TEXT 369 11 "+, -, *, /, " }{TEXT -1 5 " and " }{TEXT 370 1 "^" }{TEXT -1 86 " for addition, su btraction, multiplication, division, and exponentiation respectively. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "restart; 1+2*3-2;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "2^3;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\")" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "120/105;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6##\"\")\"\"(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 252 "Be cause the input involved integers, not decimal numbers, Maple calculat es the exact fraction when there is a division, automatically cancelli ng out the greatest common divisor (GCD). In this case the GCD is 15, which you can calculate specifically as" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "igcd(120,105);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"# :" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 230 "Observe that every command \+ ends with a semicolon ; This is a gramatical requirement of Maple. \+ If you forget, Maple will assume that the comand is not complete. Thi s allows you to break long commands across a line. For example" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "1+2*3/" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "(2+3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6##\"#6\"\"&" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 180 "For decimal numbers, the pres ence of a decimal point . in a number means that the number is a deci mal number and Maple will, by default, do all calculations to 10 decim al places." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "120/105.0;" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+Vr&G9\"!\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "sqrt(2.0);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #$\"+iN@99!\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "s := sqrt (2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"sG*$\"\"##\"\"\"F&" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 135 "Notice the difference caused by t he presence of a decimal point in these examples. Now, if you have in put an exact quantity, like the " }{XPPEDIT 18 0 "sqrt(2);" "6#-%%sqrt G6#\"\"#" }{TEXT -1 186 " above, and you now want to get a numerical \+ value to 3 decimal digits, use the evalf command to evaluate to floati ng point. Use the % character to refer to the previous Maple output. \+ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "evalf(s,3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"$T\"!\"#" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 44 "To input a formula, just use a symbol, e.g. " }{XPPEDIT 18 0 "x;" "6#%\"xG" }{TEXT -1 107 " and the arithmetic operators and f unctions known to Maple. For example, here is a quartic polynomial i n " }{XPPEDIT 18 0 "x;" "6#%\"xG" }{TEXT -1 2 " ." }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 10 "x^4-3*x+2;" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#,(*$)%\"xG\"\"%\"\"\"F(*&\"\"$F(F&F(!\"\"\"\"#F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 89 "We are going to use this polynomial for a few cal culations. We want to give it the name " }{XPPEDIT 18 0 "f;" "6#%\"fG " }{TEXT -1 92 " so we can refer to it later. We do this using the as signment operation in Maple as follows" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "f := x^4-3*x+2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% \"fG,(*$)%\"xG\"\"%\"\"\"F**&\"\"$F*F(F*!\"\"\"\"#F*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 9 "The name " }{XPPEDIT 18 0 "f;" "6#%\"fG" }{TEXT -1 69 " is now a variable. It refers to the polynomial. Here is it's value" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "f;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,(*$)%\"xG\"\"%\"\"\"F(*&\"\"$F(F&F(!\"\"\"\"#F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 44 "To evaluate this as a function \+ at the point " }{XPPEDIT 18 0 "x = 2;" "6#/%\"xG\"\"#" }{TEXT -1 32 " \+ use the eval command as follows" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "eval(f,x=2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#7" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "The following commands differentia te " }{TEXT 257 2 "f " }{TEXT -1 16 "with respect to " }{TEXT 258 2 "x " }{TEXT -1 11 "and factor " }{TEXT 256 1 "f" }{TEXT -1 61 " into irr educible factors over the field of rational numbers." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "diff(f,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*&\"\"%\"\"\")%\"xG\"\"$F&F&F)!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "factor(f);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,& %\"xG\"\"\"F&!\"\"F&,**$)F%\"\"$F&F&*$)F%\"\"#F&F&F%F&F.F'F&" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 79 "You can graph functions using the \+ plotting commands. The basic syntax for the " }{TEXT 259 4 "plot" } {TEXT -1 67 " command for a function of one variable is illustrated as follows: " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "plot(f,x=0.5..1.5);" }}{PARA 13 "" 1 "" {GLPLOT2D 362 362 362 {PLOTDATA 2 "6%-%'CURVESG6$7S7$$\"3++++++++]!#=$ \"3+++++++DcF*7$$\"35mmmT:(z@&F*$\"3'pkMcE2u3&F*7$$\"3jLLe9ui2aF*$\"3 \"4E0urPAj%F*7$$\"3Anm;z_\"4i&F*$\"3,2so3&ya8%F*7$$\"3$pmmT&phNeF*$\"3 k$zPc,`Gl$F*7$$\"34LLe*=)H\\gF*$\"3Ke&yc*oA\">$F*7$$\"3:nm\"z/3uC'F*$ \"3O9,WL^7\"y#F*7$$\"37++DJ$RDX'F*$\"31,;s*>xeP#F*7$$\"3&fm;zR'okmF*$ \"3Nxob3N!*y>F*7$$\"3J++D1J:woF*$\"3C'HBz7$$\"3\")*****\\K]4](F* $\"3a#RaE.b\"GmF^o7$$\"3$******\\PAvr(F*$\"3d6ZUY`W[RF^o7$$\"3`+++v'Hi #zF*$\"3yM`zNG1$o\"F^o7$$\"3jmm\"z*ev:\")F*$!3Ee#pv%4U/!*!#@7$$\"3kKLL 347T$)F*$!3-'fDx\"yzF=F^o7$$\"3,LLLLY.K&)F*$!3EZ2V!RB!pHF^o7$$\"3?*** \\7o7Tv)F*$!3kxg\"fkJ\\*QF^o7$$\"3IKLL$Q*o]*)F*$!3.3[n<\\!oL%F^o7$$\"3 A++D\"=lj;*F*$!3CTw0=%pNR%F^o7$$\"3^***\\PaR(>,%F^o7$$ \"3*GLLe9Ege*F*$!3>],xQldRJF^o7$$\"3HLLeR\"3Gy*F*$!3%ovAFqgH*=F^o7$$\" 3emm;/T1&***F*$!3\"\\5xA!GG@\\Fcp7$$\"3em;zRQb@5!#<$\"3?W5:d;:QCF^o7$$ \"3%)**\\(=>Y2/\"Fds$\"3M=Jr.d5)4&F^o7$$\"3hmm\"zXu91\"Fds$\"3&y]2T\"o E4&)F^o7$$\"3'******\\y))G3\"Fds$\"3&fl9$*fsVE\"F*7$$\"3!****\\i_QQ5\" Fds$\"3^t>x\\&z7t\"F*7$$\"3#***\\7y%3T7\"Fds$\"3*H:7)Hu4WAF*7$$\"3\"** **\\P![hY6Fds$\"3o>h01ve')GF*7$$\"3ELLLQx$o;\"Fds$\"3D3\"zp-r>`$F*7$$ \"3')****\\P+V)=\"Fds$\"3C6V4cZ([H%F*7$$\"3im;zpe*z?\"Fds$\"3&4*\\&p*o Ma]F*7$$\"3)*****\\#\\'QH7Fds$\"3k9yvXsVhfF*7$$\"37L$e9S8&\\7Fds$\"3GT FPPrm!*oF*7$$\"3%***\\i?=bq7Fds$\"3N;GadD:VzF*7$$\"3GLL$3s?6H\"Fds$\"3 X5>9>b-b!*F*7$$\"3&***\\7`Wl78Fds$\"3%p(f\\3$y4.\"Fds7$$\"3emmm'*RRL8F ds$\"3*)[qoaq)3;\"Fds7$$\"3_mmTvJga8Fds$\"3[%HHf5JKI\"Fds7$$\"3JL$e9tO cP\"Fds$\"3L1d+4$yTX\"Fds7$$\"3'******\\Qk\\R\"Fds$\"3f8'yNUL Fds7$$\"3-+]7oK0e9Fds$\"3*f1IZ?t`9#Fds7$$\"3.+](=5s#y9Fds$\"3OQ(Qp6p1M #Fds7$$\"3++++++++:Fds$\"3++++++]iDFds-%'COLOURG6&%$RGBG$\"#5!\"\"$\" \"!Fb[lFa[l-%+AXESLABELSG6$Q\"x6\"Q!Fg[l-%%VIEWG6$;$\"\"&F`[l$\"#:F`[l %(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "C urve 1" }}}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 104 "In the graph I can se e a local minimum near x=0.9. We can find this point using calculus. \+ The command " }{TEXT 304 6 "fsolve" }{TEXT -1 40 "( f(x)=0, x ), on i nput of a polynomial " }{TEXT 305 4 "f(x)" }{TEXT -1 66 " computes 10 \+ digit numerical approximations for the real roots of " }{TEXT 306 4 "f (x)" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "diff (f,x)=0;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/,&*&\"\"%\"\"\")%\"xG\"\" $F'F'F*!\"\"\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "fsolve (diff(f,x)=0,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+kHg&3*!#5" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "Here are some other polynomials an d functions" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "f := x^2-3*x *y+y^2+x*y;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,(*$)%\"xG\"\"#\" \"\"F**(F)F*F(F*%\"yGF*!\"\"*$)F,F)F*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "factor(f);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$),&% \"xG\"\"\"%\"yG!\"\"\"\"#F'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "f := (1-t^2)/(1+t^2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG*&, &\"\"\"F'*$)%\"tG\"\"#F'!\"\"F',&F'F'F(F'F," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "limit(f,t=infinity);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "f := 2*t*sin (omega*t);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,$*(\"\"#\"\"\"%\" tGF(-%$sinG6#*&%&omegaGF(F)F(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "diff(f,t);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*&\" \"#\"\"\"-%$sinG6#*&%&omegaGF&%\"tGF&F&F&**F%F&F,F&-%$cosGF)F&F+F&F&" }}}{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG {PARA 0 "" 0 "" {TEXT -1 172 "We have used the name f as variable to r efer to formulae and the symbols x for an uknown in a formula. Oft en you will have assigned to a name like we have done here to " } {XPPEDIT 18 0 "f;" "6#%\"fG" }{TEXT -1 34 " but you want now to use th e name " }{XPPEDIT 18 0 "f;" "6#%\"fG" }{TEXT -1 87 " as a symbol agai n, not as a variable. You can unassign the value of a name as follows " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "f;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$*(\"\"#\"\"\"%\"tGF&-%$sinG6#*&%&omegaGF&F'F&F&F&" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "f := 'f';" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%\"fGF$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "f;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"fG" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 175 "Finally, the complex unit in Maple is I, not i, and th e value 3.14159... is Pi not pi.\nThe symbols i and pi do not have any special meaning - so you can use them as variables." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "solve(x^2+1=0,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$^#\"\"\"^#!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "I^2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "i^2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$ )%\"iG\"\"#\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "sin(Pi) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 8 "sin(pi);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%$sinG6 #%#piG" }}}{EXCHG }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 24 "Varieties in \+ R^2 and R^3" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 29 "Equations are input using = ." }{TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "eqn := x^2+y^2=4;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$eqnG/,&*$) %\"xG\"\"#\"\"\"F+*$)%\"yGF*F+F+\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "lhs(eqn);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*$)%\"x G\"\"#\"\"\"F(*$)%\"yGF'F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "rhs(eqn);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "lhs(eqn)-rhs(eqn) = 0;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/,(*$)%\"xG\"\"#\"\"\"F)*$)%\"yGF(F)F)\"\"%!\" \"\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 66 "Here is a linear syste m in R^2, it's solution and a graph of it. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "S := \{ x+y=1, x-y=0 \};" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"SG<$/,&%\"xG\"\"\"%\"yGF)F)/,&F(F)F*!\"\"\"\"!" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "solve(S,\{x,y\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$/%\"xG#\"\"\"\"\"#/%\"yGF&" }}}{EXCHG } {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "plots[implicitplot](S, x=-2. .2, y=-2..2 );" }}{PARA 13 "" 1 "" {GLPLOT2D 412 412 412 {PLOTDATA 2 " 6%-%'CURVESG6U7$7$$!\"#\"\"!F(7$$!3$*************>>!#FdqF_q7$Fcq7$$!3>9O&>&pWpM! #LFiq7$7$$\"3[l************zFfqF^rFhq7$F]r7$$\"3W'************f\"FinFb r7$7$$\"3e'************R#FinFfrFar7$Fer7$$\"3u'************>$FinFjr7$7 $$\"3!p*************RFinF^sFir7$F]s7$$\"3/(************z%FinFbs7$7$$\" 3?(************f&FinFfsFas7$Fes7$$\"3!o************R'FinFjs7$7$$\"3_(* ***********>(FinF^tFis7$F]t7$$\"3A)*************zFinFbt7$7$$\"3#y***** *******z)FinFftFat7$Fet7$$\"3U(************f*FinFjt7$7$$\"3\")******** ****R5F.F^uFit7$F]u7$$\"3m************>6F.Fbu7$7$$\"3s*************>\" F.FfuFau7$Feu7$$\"3\")************z7F.Fju7$7$$\"3l************f8F.F^vF iu7$F]v7$$\"3]************R9F.Fbv7$7$$\"3d************>:F.FfvFav7$Fev7 $$\"3k*************f\"F.Fjv7$7$$\"3\\************z;F.F^wFiv7$F]w7$$\"3 N************f>F.Fjw7$7$$\"3M**************>F.F^xFiw-%'COLOURG6&%$RGBG\"\"\"F* F*-F$6H7$7$F\\o$\"3L++++++!)=F.7$$!2C***************F.F^x7$7$Fdo$\"3U+ +++++?&FinFfv7$Fbz7$F\\p$\"3G++++++g:F.7$7$F\\q$\"3W++++++S7F.7$$!3)f** **********f$FinF^v7$7$$!3_'************f$Fin$\"3()************f8F.7$Fd p$\"3c+++++++9F.7$7$Fdq$\"3H++++++!3\"F.7$$!3g(*************>FinFfu7$F ]\\lFjz7$7$F^r$\"3s.++++++#*Fin7$$!3#[)************RFfqF^u7$Fe\\lFj[l7 $7$Ffr$\"3U.++++++wFin7$$\"3W-++++++7FinFft7$F]]lFb\\l7$7$F^s$\"37.+++ +++gFin7$$\"3[-++++++GFinF^t7$Fe]lFj\\l7$7$Ffs$\"3!G++++++S%Fin7$F[^lF fs7$F]^lFb]l7$7$F^tFf]l7$Fc]lF^s7$Fa^lFj]l7$7$FftF^]l7$F[]lFfr7$Fe^lF` ^l7$7$F^uFf\\l7$Fc\\lF^r7$Fi^lFd^l7$7$FfuF^\\l7$F[\\lFdq7$F]_lFh^l7$7$ F^vF^[l7$F[[lF\\q7$Fa_lF\\_l7$7$FfvFcz7$F`zFdp7$7$Fg[lFdp7$Fd[lFb[l7$7 $F^wF[z7$FhyF\\p7$7$FgzF\\pFd_l7$7$FfwFcy7$F`yFdo7$F``lFj_l7$7$F^xF\\y 7$FixF\\o7$Fd`lF_`lF`x-%+AXESLABELSG6$%\"xG%\"yG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 157 "The following shows that solve does not \+ return solutions as radicals automatically - one has to set a magic va raible (_EnvExplicit) to get radical solutions." }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 26 "S := \{ x^2+y^2=1, x+y=0 \};" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"SG<$/,&*$)%\"xG\"\"#\"\"\"F,*$)%\"yGF+F,F,F,/,&F *F,F/F,\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "solve(S,\{x ,y\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$/%\"yG-%'RootOfG6$,&*&\"\" #\"\"\")%#_ZGF+F,F,F,!\"\"/%&labelG%$_L1G/%\"xG,$F&F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "_EnvExplicit := true;\nsolve(S,\{x, y\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%-_EnvExplicitG%%trueG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$<$/%\"xG,$*&\"\"#!\"\"F(#\"\"\"F(F)/% \"yG,$*&F(F)F(F*F+<$/F-F&/F%F." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 143 "The default for the grid option is [25,25]. The higher the value s, the more accurate (less jagged) the plot will be. See ?plots[impli citplot]" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "plots[implicitp lot]( S, x=-2..2, y=-2..2, thickness=2, grid=[50,50] );" }}{PARA 13 " " 1 "" {GLPLOT2D 412 412 412 {PLOTDATA 2 "6&-%'CURVESG6cu7$7$$!3l03/-^ v(Q*!#=$!3b;#fz*[uCMF*7$$!35GHJ#ybpd*F*$!35[G9dG9dGF*7$F-7$$!3\"y'ptvE -S'*F*$!3S&oYMGv[g#F*7$7$$!3M()f'\\TP5y*F*$!3T.1`Ej\"3/#F*F37$F97$$!3c C5bxQpf)*F*$!32&Q?5bx)o:F*7$7$$!3(\\pMn$=4<**F*$!3We$=fz*[C7F*F?7$7$FF $!3ee$=fz*[C7F*7$$!3o-02eL@l**F*$!369m)))R:.Z'!#>7$7$$!3y[!>w/>^)**F*$ !3VP61`Ej\"3%FSFN7$FU7$$!3nZ!>w/>^)**F*$\"3/#G@F!o+#*=FS7$7$Ffn$\"3!4J hIlK;3%FSFen7$F[o7$$!3BfA)[(z;R**F*$\"3WUeZ\"Qhdf*FS7$7$$!3u#pMn$=4<** F*$\"3#fP=fz*[C7F*F_o7$Feo7$$!3'R*p?.BZT)*F*$\"3ykX3(*p?y;F*7$7$$!3,%) f'\\TP5y*F*$\"3i?1`Ej\"3/#F*F[p7$7$$!37&)f'\\TP5y*F*Fdp7$$!3+\\4Q_4Q-( *F*$\"3Tj2(oBDE*)F*$!3\\PtO=fz*[%F*7$F\\s7$$!37@-^v(Q>A*F*$!3xwcG9dGRQF*7$7$$!3 GBT-L)4tH*F*$!3!G4bxQpMn$F*Fbs7$FhsF'7$Far7$$!32m&G9dG9K*F*$\"3(4(G9dG 92OF*7$7$$!3_:T-L)4tH*F*$\"3X4^v(QpMn$F*F_t7$Fet7$$!3&R]v(Q>Zq!*F*$\"3 +`?5bF^sTF*7$7$$!3#yX4\">BDE*)F*$\"3DbtO=fz*[%F*F[u7$Fau7$$!3EfK;3/-,) )F*$\"3*H0-^v(Q>ZF*7$7$Fhr$\"3w)**[C71.9&F*Fgu7$7$$!3::j\"3/-^v(F*$!3 \\\"[tO=4UI'F*7$$!3&*R;3/-^+zF*$!3)o#=fz*[C7'F*7$Ffv7$$!3M'Rn$=fzR#)F* $!3\"ouS?5bxj&F*7$7$$!3d6-^v(Q>Z)F*$!3=#ez*[C71`F*F\\w7$7$$!3o7-^v(Q>Z )F*FewFgr7$F]v7$$!3_&ez*[uC4&)F*$\"3]C1`E8%RC&F*7$7$$!3O*>5bxQ>Z)F*$\" 3&**fz*[C71`F*F\\x7$Fbx7$$!3@0LG32xw\")F*$\"3*))eYk6\"zFdF*7$7$$!3_D;3 /-^+zF*$\"3kW=fz*[C7'F*Fhx7$F^y7$$!3&z[TPN%)e$yF*$\"3W(F*7 $FczFaz7$Fez7$F[zFdv7$Fjy7$$!3%e?PIf#[cuF*$\"3-!)\\Uig:SmF*7$7$$!3I>-! R3V5>(F*$\"3M*3/-^v(QpF*Fiz7$F_[l7$$!3KW@0(H4\\1(F*$\"3?j@0(H4\\1(F*7$ 7$Faz$\"31P-!R3V5>(F*Fe[l7$7$FivFgv7$FdvFbv7$7$FdvF[zF`z7$F[\\l7$$!3:h \\Uig:SmF*$\"3hBs.$f#[cuF*7$7$$!3GfMn$=4UI'F*$\"3.Mj\"3/-^v(F*Fd\\l7$7 $$!3RgMn$=4UI'F*$\"3#HL;3/-^v(F*7$$!3X(*p^#HJK?'F*$\"3g/:u`V)e$yF*7$7$ Fiv$\"3&*R;3/-^+zF*Fe]l7$F_\\l7$F_wF]w7$7$FewFcwF_^l7$7$$!3xD=fz*[C7'F *F\\^l7$$!3!ycYk6\"zFdF*$\"3v?LG32xw\")F*7$7$Few$\"3Y5-^v(Q>Z)F*Ff^l7$ 7$F_sF]s7$FjrFhr7$Fa_l7$FewFiw7$F\\_l7$$!3H-1`E8%RC&F*$\"3t(fz*[uC4&)F *7$7$$!3yo*[C71.9&F*$\"3sy&G9dG9d)F*Fe_l7$7$F\\`l$\"3$)z&G9dG9d)F*7$$! 3BI?5bxQ>ZF*$\"3ZrK;3/-,))F*7$7$F_s$\"3rm%4\">BDE*)F*Fd`l7$F`_l7$FesFc s7$7$F[tFisF^al7$Fj`l7$$!38H?5bF^sTF*$\"31:bxQ>Zq!*F*7$7$F[t$\"3;AT-L) 4tH*F*Fbal7$7$F0F.7$F+F(7$F]blF`al7$7$F[t$\"3GBT-L)4tH*F*7$$!3*f%G9dG9 2OF*$\"31w&G9dG9K*F*7$7$$!3[l\"fz*[uCMF*$\"3`C3/-^v(Q*F*Fcbl7$Fibl7$$! 3)o#pMnL/**HF*$\"3l,\\C7clH&*F*7$7$F0$\"35GHJ#ybpd*F*F_cl7$F\\bl7$F6$! 3#*optvE-S'*F*7$7$Fw />^)**F*F^fl7$F\\fl7$$\"3O\"G@F!o+#*=FS$!3cY!>w/>^)**F*7$7$F\\oFfnFhfl 7$Fdfl7$$!3[O4s-o+#*=FSFefl7$7$F\\o$\"3cY!>w/>^)**F*F`gl7$F^gl7$$\"3%Q %eZ\"Qhdf*FSF`o7$7$FhoFfoFhgl7$Fdgl7$$\"3O%*p)))R:.Z'FS$\"3N*\\q!eL@l* *F*7$7$Fho$\"3u#pMn$=4<**F*F^hl7$F\\hl7$F^p$!32&*p?.BZT)*F*7$7$FdpFbpF hhl7$Fdhl7$$\"3qE/-^v()o:F*$\"3z;5bxQpf)*F*7$7$Fdp$\"37&)f'\\TP5y*F*F^ il7$7$FdpFhp7$F]qF[q7$7$FcqFaqFiil7$7$Fdp$\"3,%)f'\\TP5y*F*7$$\"3.KnW$ Gv[g#F*$\"3qcptvE-S'*F*7$7$Fiq$\"3bAHJ#ybpd*F*F`jl7$7$FiqFgq7$F^rF\\r7 $7$FdrFbrF[[m7$F][m7$Fbt$!3=n&G9dG9K*F*7$7$FhtFftF_[m7$7$Fht$\"3_:T-L) 4tH*F*7$$\"3\"Q;fz*[uCMF*$\"3JA3/-^v(Q*F*7$Fh[mFfjl7$Fc[m7$F^uF\\u7$7$ FduFbuF_\\m7$7$$\"3,5^v(QpMn$F*Ff[m7$$\"3sTdG9dGRQF*$\"39\">5bxQ>A*F*7 $7$$\"3patO=fz*[%F*$\"3#yX4\">BDE*)F*Ff\\m7$Fa\\m7$FjuFhu7$7$F^vFhrFb] m7$Fd]m7$F_xF]x7$7$FexFcxFf]m7$7$Fex$\"3D)>5bxQ>Z)F*7$$\"3Xl*[C71.9&F* F^`l7$7$$\"3cm*[C71.9&F*F^`lF\\]m7$Fh]m7$F[yFix7$7$FayF_yFe^m7$Fj]m7$$ \"3%*o3/-^vPcF*$\"3&3Jn$=fzR#)F*7$7$Fay$\"3jE;3/-^+zF*Fi^m7$Fg^m7$FgyF ey7$7$F]zF[zFc_m7$Fe_m7$$\"3\"*y\\Uig:SmF*Fjz7$7$Fb[lF`[lFg_m7$7$Fb[l$ \"3I>-!R3V5>(F*7$$\"3RgMn$=4UI'F*F]]l7$F``m7$$\"3`V=fz*[C7'F*F`_m7$F[` m7$Fh[l$!3VX@0(H4\\1(F*7$7$F\\\\lFazFh`m7$F\\am7$Fg\\lFe\\l7$7$F]]lF[] lF^am7$7$F]]lFa`m7$F^`mFb[l7$FcamF]`m7$7$Fc]lFa]l7$Fh]lFf]l7$7$F\\^lFi vFgam7$7$F\\^lFd^l7$Fi^l$!3\"*olW;6zFdF*7$7$F]_lFewF\\bm7$F`bm7$Fh_lFf _l7$7$F^`lF\\`lFbbm7$7$F^`lF^^m7$F[^mFex7$Fgbm7$F\\_mFj^m7$7$F`_mFayFi bm7$7$F`_mFe`mFbam7$7$Fb`lF\\`l7$Fg`lFe`l7$7$F[alF_sF`cm7$Fbcm7$$\"3<; bxQ>Zq!*F*Fcal7$7$FialF[tFdcm7$7$FablF[t7$FfblFdbl7$7$F\\clFjblF[dm7$7 $F[\\mFi[m7$Ff[mFht7$7$Ff[mFd\\m7$Fi\\m$\"3!#<$\"3>x(QpMn$=>F\\hm7$$!\"#Fegm$\"3y,++++++?F\\hm7$FigmFigm7$ 7$$!3%3bxQpMn$=F\\hm$\"3h_v(QpMn$=F\\hmFigm7$FfhmFfhm7$7$$!3EEj\"3/-^v \"F\\hm$\"3/Gj\"3/-^v\"F\\hmFfhm7$F]imF]im7$7$$!3n,^v(QpMn\"F\\hm$\"3X .^v(QpMn\"F\\hmF]im7$FdimFdim7$7$$!35xQpMn$=f\"F\\hm$\"3))yQpMn$=f\"F \\hmFdim7$F[jmF[jm7$7$$!3__Ej\"3/-^\"F\\hm$\"3HaEj\"3/-^\"F\\hmF[jm7$F bjmFbjm7$7$$!3%zUr&G9dG9F\\hm$\"3rH9dG9dG9F\\hmFbjm7$FijmFijm7$7$$!3N. -^v(QpM\"F\\hm$\"380-^v(QpM\"F\\hmFijm7$F`[nF`[n7$7$$!3yy*[C71`E\"F\\h m$\"3c!)*[C71`E\"F\\hmF`[n7$Fg[nFg[n7$7$$!3>axQpMn$=\"F\\hm$\"3(fv(QpM n$=\"F\\hmFg[n7$F^\\nF^\\n7$7$$!3iHlK;3/-6F\\hm$\"3RJlK;3/-6F\\hmF^\\n 7$Fe\\nFe\\n7$7$$!3.0`Ej\"3/-\"F\\hm$\"3\"oIlK;3/-\"F\\hmFe\\n7$F\\]nF \\]n7$7$F($\"3UB3/-^v(Q*F*F\\]n7$Fc]nFc]n7$7$FhrF^`lFc]n7$Fh]nFh]n7$7$ F[zF]]lFh]n7$F[^nF[^n7$7$FazFb[lF[^n7$F^^nF^^n7$7$FivFayF^^n7$Fa^nFa^n 7$7$FewFexFa^n7$Fd^nFd^n7$7$F_sF]]mFd^n7$Fg^nFg^n7$7$F[tFd\\mFg^n7$Fj^ nFj^n7$7$F0FiqFj^n7$F]_nF]_n7$7$F " 0 "" {MPLTEXT 1 0 28 "S := \{x^2+y^2+z^2=1, y-z^2 \};" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"SG<$,&%\"yG\"\"\"*$)%\"zG\" \"#F(!\"\"/,(*$)%\"xGF,F(F(*$)F'F,F(F(F)F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "solve(S,\{x,y,z\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$<%/%\"zGF%/%\"xG*$,(\"\"\"F**$)F%\"\"%F*!\"\"*$)F%\"\"# F*F.#F*F1/%\"yGF/<%F$/F',$F(F.F3" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 102 "plots[implicitplot3d]( S, x=-2..2, y=-2..2, z=-2..2, grid=[25,25,25], axes=frame, style=patchcontour);" }}{PARA 13 "" 1 " " {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {SECT 1 {PARA 3 "" 0 "" {TEXT -1 14 "Lists and Sets" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 225 "The simplest data structure in Maple is a list. \+ The elements of a list may be of any type. To create a list of valu es enclose them in square brackets [, ]. Lists may be nested of cours e and the entries may be of any type." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "restart;\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "E := []; # the empty list" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"E G7\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "L := [1,2,-3,4,1]; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"LG7'\"\"\"\"\"#!\"$\"\"%F&" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "M := [[1,2,3],[x,y,z]];" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"MG7$7%\"\"\"\"\"#\"\"$7%%\"xG%\"yG %\"zG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 61 "To count the number of e ntries in a list use nops(L) command." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "nops(L);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"&" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "nops(M);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"#" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 114 "To acces s the i'th element of a list (counting from 1) use a subscript. A neg ative subscript counts from the end." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "L[3];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!\"$" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "L[-1];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "M[2 ];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%%\"xG%\"yG%\"zG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "M[2][2];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"yG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "Use the f ollowing to extract a sublist" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "L[2..3];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"#!\"$" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "L[2..-1];" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#7&\"\"#!\"$\"\"%\"\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 57 "To append (prepend) elements to a list use the following. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "op(L);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6'\"\"\"\"\"#!\"$\"\"%F#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "[op(L),5];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7(\"\" \"\"\"#!\"$\"\"%F$\"\"&" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "To tes t if an element is in a list use" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "member(2,L);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%tru eG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 204 "Although you can assign to an entry of a list (as if it were an array) if the list has less than 100 elements, do not do this. It creates a copy of the entire list. So it's not efficient. Use Arrays ." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "L[2] := 10;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"L G6#\"\"#\"#5" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "L;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7'\"\"\"\"#5!\"$\"\"%F$" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 103 "Maple sets are like mathematics sets, duplicates \+ are removed. The examples should be self explanatory." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "\{\}; # The empty set" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "S := \{1,5,3,1\};\nT := \{3,4,5,6\};" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"SG<%\"\"\"\"\"$\"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\" TG<&\"\"$\"\"%\"\"&\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " S[2];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 8 "nops(S);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\" \"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "S union T;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<'\"\"\"\"\"$\"\"%\"\"&\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "S intersect T;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$\"\"$\"\"&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "S union \{7\};" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<&\"\"\"\"\"$\" \"&\"\"(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "S minus T;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#<#\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 30 "The seq, ad d and mul commands." }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 5 "The " } {TEXT 372 3 "seq" }{TEXT -1 18 "( f(i), i=a..b ), " }{TEXT 373 3 "mul " }{TEXT -1 18 "( f(i), i=a..b ), " }{TEXT 374 3 "add" }{TEXT -1 69 "( f(i), i=a..b ) useful for working with sets, lists and polynomials." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "restart;\nseq( i, i=1..4 \+ );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6&\"\"\"\"\"#\"\"$\"\"%" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 70 "creates a sequence of values which you can put in a list or set, e.g, " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "L := [ seq(x[i], i=1..4) ];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"LG7&&%\"xG6#\"\"\"&F'6#\"\"#&F'6#\"\"$&F'6#\"\"%" } }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 91 "The add and mul commands work th e same way except they create a sum (product) respectively." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "L := [x,y,z];" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%\"LG7%%\"xG%\"yG%\"zG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "add( L[i], i=1..3 );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,(%\"xG\"\"\"%\"yGF%%\"zGF%" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 20 "mul( L[i], i=1..3 );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*(%\"xG\"\"\"%\"yGF%%\"zGF%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "f := x^3-3*x^2+5;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%\"fG,(*$)%\"xG\"\"$\"\"\"F**&F)F*)F(\"\"#F*!\"\"\"\"&F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "degree(f,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "coe ff(f,x,2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "[seq( coeff(f,x,i), i=0..degree(f,x) )];" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#7&\"\"&\"\"!!\"$\"\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 19 "Read the help pages" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "?seq" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "?add" }}}{EXCHG }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {SECT 1 {PARA 3 "" 0 "" {TEXT -1 24 "Loops and If statements." }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 115 "To do a sequence of calculations it will be handy to know how to use some of Maple's looping commands and also the " } {TEXT 376 2 "if" }{TEXT -1 115 " command. To execute a command in Map le conditionally use the if command which has either of the following \+ forms\n\n" }{TEXT 279 4 " " }{TEXT 286 2 "if" }{TEXT 287 13 " " }{TEXT 280 4 "then" }{TEXT 288 14 " " }{TEXT 281 4 "else" }{TEXT 289 14 " " }{TEXT 282 2 "fi" }{TEXT 290 1 "\n" }{TEXT -1 14 "\nor just\n\n " }{TEXT 283 2 "if" }{TEXT 291 13 " " }{TEXT 284 4 "then" }{TEXT 292 14 " " }{TEXT 285 3 "fi\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "i f 2>1 then print(good) else print(bad) fi;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%goodG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 112 "To exe cute one or more statements zero or more times in a loop use the for c ommand. It has the following form\n\n" }{TEXT 272 4 " " }{TEXT 293 3 "for" }{TEXT 294 12 " " }{TEXT 273 4 "from" }{TEXT 295 9 " " }{TEXT 274 2 "to" }{TEXT 296 7 " " }{TEXT 275 2 "do" }{TEXT 297 14 " " }{TEXT 276 3 "od\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "for i from 1 to 4 do i^2; od;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 157 "As an \+ example, the Maple gcd command computes the gcd of two polynomials.\nT o compute the gcd of a list of 1 or more polynomials we can use a loop as follows." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "L := [x^6-1 ,x^4-1,x^12-1,x^3-1];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"LG7&,&*$) %\"xG\"\"'\"\"\"F+F+!\"\",&*$)F)\"\"%F+F+F+F,,&*$)F)\"#7F+F+F+F,,&*$)F )\"\"$F+F+F+F," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "g := L[1] ;\nfor i from 2 to nops(L) do g := gcd(g,L[i]) od;" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%\"gG,&*$)%\"xG\"\"'\"\"\"F*F*!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gG,&*$)%\"xG\"\"#\"\"\"F*F*!\"\"" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%\"gG,&*$)%\"xG\"\"#\"\"\"F*F*!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gG,&%\"xG\"\"\"F'!\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 93 "To execute some statements while a condition is true use the while loop. It has the syntax\n\n" }{TEXT 269 4 " " }{TEXT 298 5 "while" }{TEXT 299 13 " " }{TEXT 270 2 "do" } {TEXT 300 14 " " }{TEXT 271 3 "od " }{TEXT 301 2 "\n\n" } {TEXT -1 80 "In the following example we repeatedly divide an integer \+ n by 2 until it is odd." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 " n := 12;\nwhile irem(n,2) = 0 do n := iquo(n,2); od;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG\"#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG \"\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG\"\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 40 "The value of n at the end of the loop is" }}} {EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG } {EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG } {EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG } {EXCHG }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "n;" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 17 "Maple Programming" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 106 "A simple function, like the function f(x ) = x^2 may be input using the arrow notation in Maple, as follows" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "f := x -> x^2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGj+6#%\"xG6\"6$%)operatorG%&arrowGF(*$)9$ \"\"#\"\"\"F(F(F(6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "f(2);\nf(y);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$)%\"yG\"\"#\"\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "A procedure in Maple takes the form\n\n " }{TEXT 308 4 " \+ " }{TEXT 309 4 "proc" }{TEXT 310 21 "( p1, p2, ... )\n " } {TEXT 311 5 "local" }{TEXT 312 20 " l1, l2, ... ;\n " }{TEXT 313 6 "global" }{TEXT 314 23 " g, g2, ... ;\n " }{TEXT 317 10 "sta tement1" }{TEXT 318 11 ";\n " }{TEXT 319 10 "statement2" } {TEXT 320 25 ";\n ....\n " }{TEXT 321 11 " statementn " }{TEXT 322 5 ";\n " }{TEXT 315 10 " end proc" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 409 "There may be zero or mor e parameters, one or more locals, one or more globals and one or more \+ statements in the procedure body.\nThe local and global statements are optional. Variables in the procedure body that are not explicitly de clared as parameters, locals, or globals are declared to be local auto matically if assigned to, otherwise they are global. The value return ed by the procedure is the value of " }{TEXT 316 10 "statementn" } {TEXT -1 206 ", the last statement in the body of the procedure or the value of an explicit return statement. Type declarations for paramet ers and local variables need not be explicitly given. Some examples w ill help. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "f := proc(x) \+ \n y := x^2;\n y-1;\nend proc;" }}{PARA 7 "" 1 "" {TEXT -1 59 "W arning, `y` is implicitly declared local to procedure `f`\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGj+6#%\"xG6#%\"yG6\"F*C$>8$*$)9$\"\"#\" \"\",&F-F2F2!\"\"F*F*F*6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "f(2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 129 "Here is a Maple procedure to compute the LT(f), the leading term of a univariate polynomial f(x). It illustra tes the use of the " }{TEXT 377 6 "return" }{TEXT -1 78 " statement. \+ This time I've explicitly declared c and d to be local variables." }}} {EXCHG }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 118 "LT := proc(f,x) loc al d,c;\n if f=0 then return 0; fi;\n d := degree(f,x);\n c := c oeff(f,x,d);\n c*x^d;\nend proc;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6# >%#LTGj+6$%\"fG%\"xG6$%\"dG%\"cG6\"F,C&@$/9$\"\"!OF1>8$-%'degreeG6$F09 %>8%-%&coeffG6%F0F8F4*&F:\"\"\")F8F4F?F,F,F,6$F1F1" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "LT(0,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# \"\"!" }}}{EXCHG }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "f := 3*x^3 -5*x+1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,(*&\"\"$\"\"\")%\"xG F'F(F(*&\"\"&F(F*F(!\"\"F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "LT(f,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$*&\"\"$\"\"\")%\"xG F%F&F&" }}}{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG {PARA 0 "" 0 "" {TEXT -1 177 "This next example is an implementation of the Euc lidean algorithm in Q[x]. It uses the rem command to compute the rema inder of f divided by g. It also use multi-assignments." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "(f,g) := (x^6-1,x^4-1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"fG%\"gG6$,&*$)%\"xG\"\"'\"\"\"F-F-!\" \",&*$)F+\"\"%F-F-F-F." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "f; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*$)%\"xG\"\"'\"\"\"F(F(!\"\"" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "g;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*$)%\"xG\"\"%\"\"\"F(F(!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "rem(f,g,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#, &\"\"\"!\"\"*$)%\"xG\"\"#F$F$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 161 "EuclideanAlgorithm := proc(f,g,x) local c,d,r;\n (c,d) := (f ,g);\n while d <> 0 do\n r := rem(c,d,x); \n (c,d) := (d,r);\n od;\n c;\nend proc;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6 #>%3EuclideanAlgorithmGj+6%%\"fG%\"gG%\"xG6%%\"cG%\"dG%\"rG6\"F.C%>6$8 $8%6$9$9%?(F.\"\"\"F8F.0F3\"\"!C$>8&-%$remG6%F2F39&>F16$F3F=F2F.F.F.6% !+Yq:Y>\"*%[.29\"*St&39" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " EuclideanAlgorithm(f,g,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&\"\"\" !\"\"*$)%\"xG\"\"#F$F$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 223 "Proced ures may be nested, nested lexical scoping is used (a la Pascal). \nP rocedures may be returned and passed freely as parameters. \nThe simp lest debugging tool is to insert print statements in the procedure.\nF or example" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 190 "EuclideanAlg orithm := proc(f,g,x) local c,d,r;\n (c,d) := (f,g);\n while d < > 0 do\n r := rem(c,d,x);\n print(REM(c,d) = r); \n \+ (c,d) := (d,r);\n od;\n c;\nend proc;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%3EuclideanAlgorithmGj+6%%\"fG%\"gG%\"xG6%%\"cG%\"dG% \"rG6\"F.C%>6$8$8%6$9$9%?(F.\"\"\"F8F.0F3\"\"!C%>8&-%$remG6%F2F39&-%&p rintG6#/-%$REMGF1F=>F16$F3F=F2F.F.F.6%!+Yq:Y>\"*_gaS\"\"*C&f$R\"" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "g := EuclideanAlgorithm(f,g, x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%$REMG6$,&*$)%\"xG\"\"'\"\"\" F,F,!\"\",&*$)F*\"\"%F,F,F,F-,&F,F-*$)F*\"\"#F,F," }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%$REMG6$,&*$)%\"xG\"\"%\"\"\"F,F,!\"\",&F,F-*$)F*\"\" #F,F,\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gG,&\"\"\"!\"\"*$)% \"xG\"\"#F&F&" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 95 "The next simples t debugging tool is the trace command. All assigment statements are d isplayed." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "trace(Euclidea nAlgorithm);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%3EuclideanAlgorithmG " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "g := EuclideanAlgorithm (f,g,x);" }}{PARA 9 "" 1 "" {TEXT -1 54 "\{--> enter EuclideanAlgorith m, args = x^6-1, -1+x^2, x" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"cG %\"dG6$,&*$)%\"xG\"\"'\"\"\"F-F-!\"\",&F-F.*$)F+\"\"#F-F-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"rG\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# /-%$REMG6$,&*$)%\"xG\"\"'\"\"\"F,F,!\"\",&F,F-*$)F*\"\"#F,F,\"\"!" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"cG%\"dG6$,&\"\"\"!\"\"*$)%\"xG\" \"#F)F)\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&\"\"\"!\"\"*$)%\"xG \"\"#F$F$" }}{PARA 9 "" 1 "" {TEXT -1 56 "<-- exit EuclideanAlgorithm \+ (now at top level) = -1+x^2\}" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"g G,&\"\"\"!\"\"*$)%\"xG\"\"#F&F&" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 240 "The printf command can be used to print more detailed information in a controlled format. It works just like the printf command in the C language. The main difference is the %a option for printing algebr aic objects like polynomials. E.g." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "f := x^3-2*x^2+1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%\"fG,(*$)%\"xG\"\"$\"\"\"F**&\"\"#F*)F(F,F*!\"\"F*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "printf( \"The polynomial f=%a has d egree %d in %a\\n\", f, 3, x );" }}{PARA 6 "" 1 "" {TEXT -1 46 "The po lynomial f=x^3-2*x^2+1 has degree 3 in x" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG } {EXCHG }{EXCHG {PARA 0 "" 0 "" {TEXT -1 101 "As a final example, here \+ is a Maple procedure for the division algorithm which uses the LT proc edure." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 297 "DIVIDE := proc(f ,g,x) # divide f by g\nlocal q,r,t;\n if g=0 then error \"division \+ by zero\"; fi;\n q := 0;\n r := f;\n while r <> 0 and degree( r) >= degree(g) do\n t := LT(r,x)/LT(g,x);\n q := q+t; \n r := r-expand(t*g);\n od;\n return(q,r); # return bot h values\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "f := 2*x^ 4-3*x^3+1;\ng := 2*x^2+1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,(* &\"\"#\"\"\")%\"xG\"\"%F(F(*&\"\"$F()F*F-F(!\"\"F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gG,&*&\"\"#\"\"\")%\"xGF'F(F(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "q,r := DIVIDE(f,g,x):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "q;" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#,(*$)%\"xG\"\"#\"\"\"F(*&#\"\"$F'F(F&F(!\"\"#F(F'F," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "r;" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#,&#\"\"$\"\"#\"\"\"*(F%F'F&!\"\"%\"xGF'F'" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 33 "Check that the result is correct." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "expand( f-q*g-r );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} }{EXCHG }{EXCHG }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 28 "Subscripted Nam es and Arrays" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 69 "Variables may be \+ subscripted. For example, here is a polynomial in " }{XPPEDIT 18 0 " x[1],x[2],x[3];" "6%&%\"xG6#\"\"\"&F$6#\"\"#&F$6#\"\"$" }{TEXT -1 37 " . You can assign to the subscripts." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "restart;\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "f := 1-x[1]*x[2]*x[3];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "x[1] \+ := 3;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,&\"\"\"F&*(&%\"xG6#F&F &&F)6#\"\"#F&&F)6#\"\"$F&!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&% \"xG6#\"\"\"\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "f;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#,&\"\"\"F$*(\"\"$F$&%\"xG6#\"\"#F$&F(6 #F&F$!\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 203 "There may be more \+ than one subscript and the subscripts may be any value. \nArrays are l ike arrays from computing science. Here is how to create a one-dimens ional array A with values indexed from 1 to 5." }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 17 "A := Array(1..5);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\"*+UYO\"-%'VECTORG6#7'\"\"!F-F-F-F-% &ArrayG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 128 "By default, the entri es in the array A are initialized to 0. You access and assign array e ntries using subscripts. For example" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "A[1] := 3;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"AG 6#\"\"\"\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "A[1];" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "for i from 2 to 5 do A[i] := x^i od;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"AG6#\"\"#*$)%\"xGF'\"\"\"" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>&%\"AG6#\"\"$*$)%\"xGF'\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"AG6#\"\"%*$)%\"xGF'\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"AG6#\"\"&*$)%\"xGF'\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "A;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6 %\"*+UYO\"-%'VECTORG6#7'\"\"$*$)%\"xG\"\"#\"\"\"*$)F.F+F0*$)F.\"\"%F0* $)F.\"\"&F0%&ArrayG" }}}{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG } {EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG } {EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG }{EXCHG } {EXCHG }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "5 0 0" 3 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }