{VERSION 5 0 "IBM INTEL NT" "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 }{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 "Headi ng 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 1 1 1 }3 1 0 0 12 12 1 0 1 0 2 2 19 1 }{PSTYLE "Author" -1 19 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 8 8 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 60 "Closures of branch cuts f or elementary functions in Maple 7." }}{PARA 19 "" 0 "" {TEXT -1 32 "R obert M. Corless\nAugust 1, 2001" }}{PARA 0 "" 0 "" {TEXT -1 293 "This worksheet looks at the closures of the Maple implementations of the e lementary functions on their branch cuts, by experiment. Done during \+ the Celebration of Light, Vancouver; reflections of fireworks bouncing off the glass buildings in front of me, thunder and cheers echoing al l around." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 184 "I emphasize that this worksheet explores Maple's implementations: other computer algebra systems may differ, not usually in the placeme nt of the branch cut but perhaps on the closures." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 114 "plots[setoptions](axes=BOX ED,colour=BLACK,scaling=CONSTRAINED);\nplots[setoptions3d](axes=BOXED, style=PATCHNOGRID);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 240 "The routi ne \"compar\" takes a function \"f\", a point \"a\", and a direction \+ \"dir\" (meant to be a signed zero). If f(a+dir)-f(a) is zero then f \+ is continuous at a in the direction dir. The routine returns four lis ts, checking out +/-a +/- dir." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 202 "compar := proc( f, a, dir )\n print( evalf([a,dir,f(a+dir)-f (a)]),\n evalf([a,-dir,f(a-dir)-f(a)]),\n evalf([-a,di r,f(-a+dir)-f(-a)]),\n evalf([-a,-dir,f(-a-dir)-f(-a)]) )\nend proc;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 13 "CCC functions" }}{PARA 0 "" 0 "" {TEXT -1 74 "CCC means ``counter-clockwise closure'' and in these cases the \+ rule holds." }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 23 "arcsin, arccos, ar ctanh" }}{PARA 0 "" 0 "" {TEXT -1 157 "The branch cuts for these three functions are the segments of the real axis larger than 1 in magnitud e (separately verified by plotting the imaginary parts)." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "compar( arcsin, 2., 0.*I );" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "plot3d( Im(arcsin(x+I*y)), x =-2..2, y=-1..1, colour=Re(arcsin(x+I*y)) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "compar( arccos, 2, 0.*I );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "plot3d( Im(arccos(x+I*y)), x=-2..2, y=-1..1, \+ colour=Re(arccos(x+I*y)) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "compar( arctanh, 2, 0.*I );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 74 "plot3d( Im(arctanh(x+I*y)), x=-2..2, y=-1..1, colour=Re(arctan h(x+I*y)) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "N := 5;" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 127 "The following hand-coded call to \+ \"plot\" indicates graphically which side the cuts are closed on, by t he presence of tick-marks." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 156 "plot( [[t,0,t=-3..-1],[t,0,t=1..3],\n seq([-(1+i/N),t,t=0.. 0.2], i=0..2*N),\n seq([(1+i/N),-t,t=0..0.2], i=0..2*N)], \n \+ view=[-3..3,-3..3] );" }}}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 23 "arctan, arccot, arcsinh" }} {EXCHG {PARA 0 "" 0 "" {TEXT -1 104 "The branch cuts for these three f unctions are the segments of imaginary axis larger than 1 in magnitude ." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "compar( arctan, 2*I, 0 . ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 71 "plot3d( Re(arctan( x+I*y)), x=-1..1,y=-3..3, colour=Im(arctan(x+I*y)) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "compar( arccot, 2*I, 0. );" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 71 "plot3d( Re(arccot(x+I*y)), x =-1..1,y=-3..3, colour=Im(arccot(x+I*y)) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "compar( arcsinh, 2*I, 0. );" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 73 "plot3d( Re(arcsinh(x+I*y)), x=-1..1,y=-3..3, c olour=Im(arcsinh(x+I*y)) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "N := 5;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 156 "plot( [[0,t, t=-3..-1],[0,t,t=1..3],\n seq([-t,-(1+i/N),t=0..0.2], i=0..2*N), \n seq([t,(1+i/N),t=0..0.2], i=0..2*N)], \n view=[-3..3,-3 ..3] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 10 "Exceptions" }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 14 "arccsc, arcsec" }}{PARA 0 "" 0 "" {TEXT -1 98 "These two \+ functions have branch cuts on the real line between -1 and 1, and a cl osure switch at 0." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "compar ( arccsc, 1/2, 0.*I );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "p lot3d( Im(arccsc(x+I*y)), x=-2..2, y=-1..1, colour=Re(arccsc(x+I*y)) ) ;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "compar( arcsec, 1/2, 0 .*I );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "plot3d( Im(arcsec (x+I*y)), x=-2..2, y=-1..1, colour=Re(arcsec(x+I*y)) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "N := 5;" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 149 "plot( [[t,0,t=-1..0],[t,0,t=0..1],\n seq([-( i/N),-t,t=0..0.15], i=0..N),\n seq([(i/N),t,t=0..0.15], i=0..N)] , \n view=[-2..2,-2..2] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 74 "arccsc(0); arccsc(0.*I); arccsc(-0.*I); arccsc(0.+0.* I); arccsc(-0.+0.*I);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "ar csec(0);" }}}{PARA 4 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 7 "arccoth" }}{PARA 0 "" 0 "" {TEXT -1 88 "This is the same a s the above two, except the closure is different: it is closed on top. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "compar( arccoth, 1/2, 0.*I );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "compar( arccoth, 2, 0.*I ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 74 "plot3d( Im(arccoth(x+I*y)), x=-2..2, y=-1..1, co lour=Re(arccoth(x+I*y)) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "N := 5;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 108 "plot( [[t,0,t=-1..1] ,[t,0,t=0..1],\n seq([(i/N),t,t=0..0.15], i=-N..N)], \n v iew=[-2..2,-2..2] );" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 7 "arccsch " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 86 "This \+ is closed counterclockwise about each singularity, and has a closure s witch at 0." }{MPLTEXT 1 0 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "compar( arccsch, I/2, 0. );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 73 "plot3d( Re(arccsch(x+I*y)), x=-1..1, y=-2..2, colour= Im(arccsch(x+I*y)));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "N := 5;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 149 "plot( [[0,t,t=-1..0 ],[0,t,t=0..1],\n seq([t,-(i/N),t=0..0.15], i=0..N),\n seq ([-t,(i/N),t=0..0.15], i=0..N)], \n view=[-2..2,-2..2] );" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 19 "arccosh and arcsech" }}{PARA 0 " " 0 "" {TEXT -1 64 "These are the true oddballs. The branch cuts are \+ not symmetric." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "compar( arccosh, 2, 0.*I );" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 29 "compar( arccosh, 1/2, 0.*I );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 96 "plot3d( Im(arccosh(x+I*y)), x=-2..2 , y=-1..1, orientation=[-70,60], colour=Re(arccosh(x+I*y)) );" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "N := 5;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 181 "plot( [[t,0,t=-2..1],\n seq( [-1-i/N,t ,t=0..0.15], i=0..N ),\n seq( [-i/N, t, t=0..0.15], i=0..N ),\n \+ seq( [i/N,t,t=0..0.15], i=0..N ) ],\n view=[-2..2,-2..2] ) ;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "compar( arcsech, 2, 0. *I );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "compar( arcsech, 1 /2, 0.*I );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 96 "plot3d( Im(a rcsech(x+I*y)), x=-2..2, y=-1..1, orientation=[-70,60], colour=Re(arcs ech(x+I*y)) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "N := 5;" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 199 "plot( [[t,0,t=-2..0],[t,0,t=1..2] ,\n seq( [-1-i/N,-t,t=0..0.15], i=0..N ),\n seq( [-i/N, -t , t=0..0.15], i=0..N ),\n seq( [1+i/N,-t,t=0..0.15], i=0..N ) ], \n view=[-2..2,-2..2] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "0 \+ 4 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }