{VERSION 4 0 "IBM INTEL NT" "4.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 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 262 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 273 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 274 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 275 "" 0 1 0 0 0 0 1 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 0 }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 "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 "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 }{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 59 "Some Maple code to derive \+ equation (3.5) in the manuscript " }{TEXT 256 30 "Inverting Gravitatio nal Lenses" }{TEXT -1 1 "," }}{PARA 0 "" 0 "" {TEXT -1 28 "by P. Newbu ry and R.Spiteri." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 86 "The idea is \+ that we need to find the determinant of the Jacobian of the lens equat ion " }{TEXT 259 0 "" }{TEXT 260 3 " y " }{TEXT 261 0 "" }{TEXT -1 2 " = " }{TEXT 262 0 "" }{TEXT 263 4 "x - " }{XPPEDIT 18 0 "alpha(r)/r;" " 6#*&-%&alphaG6#%\"rG\"\"\"F'!\"\"" }{TEXT -1 1 " " }{TEXT 269 0 "" } {TEXT 272 1 "x" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 40 "First, it is convenient to load Maple's " }{TEXT 257 6 "linalg" } {TEXT -1 74 " library so that we can have direct access to some useful functions later." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "with(l inalg):" }}{PARA 7 "" 1 "" {TEXT -1 80 "Warning, the protected names n orm and trace have been redefined and unprotected\n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 63 "This is a handy short form that we also introdu ce in the paper:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "alias(r =sqrt((x[1])^2+(x[2])^2));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"rG" } }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 58 "This is the lens equation (3.4) \+ written out componentwise:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "y := vector(2,[x[1]-alpha(r)*(x[1]/r), x[2]-alpha(r)*(x[2]/r)]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"yG-%'vectorG6#7$,&&%\"xG6#\"\"\" F-*&*&-%&alphaG6#%\"rGF-F*F-F-*$-%%sqrtG6#,&*$)F*\"\"#F-F-*$)&F+6#F;F; F-F-F-!\"\"F@,&F>F-*&*&F0F-F>F-F-*$-F66#F8F-F@F@" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 15 "Now we declare " }{XPPEDIT 18 0 "x[1];" "6#&%\"xG6 #\"\"\"" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "x[2];" "6#&%\"xG6#\"\"#" }{TEXT -1 64 " as variables so that we can differentiate with respect \+ to them." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "vars := [x[1],x [2]];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7$&%\"xG6#\"\"\"&F'6# \"\"#" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 21 "Compute the Jacobian " } {XPPEDIT 18 0 "A = diff(y[i],x[j]);" "6#/%\"AG-%%diffG6$&%\"yG6#%\"iG& %\"xG6#%\"jG" }{TEXT -1 18 " column by column." }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 22 "A1 := grad(y[1],vars);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A1G-%'vectorG6#7$,*\"\"\"F**&*&--%\"DG6#%&alphaG6#% \"rGF*)&%\"xG6#F*\"\"#F*F*,&*$F4F*F**$)&F66#F8F8F*F*!\"\"F?*&-F1F2F**$ -%%sqrtG6#F9F*F?F?*&*&FAF*F4F*F**$)F9#\"\"$F8F*F?F*,&*&*(F-F*F=F*F5F*F *F9F?F?*&*(FAF*F5F*F=F*F**$)F9#FKF8F*F?F*" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 22 "A2 := grad(y[2],vars);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A2G-%'vectorG6#7$,&*&*(--%\"DG6#%&alphaG6#%\"rG\"\" \"&%\"xG6#\"\"#F3&F56#F3F3F3,&*$)F8F7F3F3*$)F4F7F3F3!\"\"F?*&*(-F0F1F3 F8F3F4F3F3*$)F:#\"\"$F7F3F?F3,*F3F3*&*&F,F3F>F3F3F:F?F?*&FBF3*$-%%sqrt G6#F:F3F?F?*&*&FBF3F>F3F3*$)F:#FFF7F3F?F3" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 28 "Now form the determinant of " }{TEXT 273 1 "A" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "detA := A1[1]*A2[2] -A1[2]*A2[1];" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%%detAG,&*&,*\"\"\"F (*&*&--%\"DG6#%&alphaG6#%\"rGF()&%\"xG6#F(\"\"#F(F(,&*$F2F(F(*$)&F46#F 6F6F(F(!\"\"F=*&-F/F0F(*$-%%sqrtG6#F7F(F=F=*&*&F?F(F2F(F(*$)F7#\"\"$F6 F(F=F(F(,*F(F(*&*&F+F(F:F(F(F7F=F=F>F=*&*&F?F(F:F(F(*$)F7#FIF6F(F=F(F( F(*$),&*&*(F+F(F;F(F3F(F(F7F=F=*&*(F?F(F3F(F;F(F(*$)F7#FIF6F(F=F(F6F(F =" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 90 "Now use other Maple faciliti es to massage this expression into the form of equation (3.5)." }} {PARA 0 "" 0 "" {TEXT -1 17 "Note that we use " }{TEXT 274 1 "R" } {TEXT -1 12 " instead of " }{TEXT 275 1 "r" }{TEXT -1 34 " because thi s was aliased earlier." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "f actor(simplify(simplify(detA,\{r^2=R^2\}),symbolic));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&*&,&!\"\"\"\"\"--%\"DG6#%&alphaG6#%\"RGF'F',&-F, F-F'F.F&F'F'F.F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {MARK "17 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }