{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 "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 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 "" 0 21 "" 0 1 0 0 0 1 0 0 0 0 2 0 0 0 0 1 }{CSTYLE "Help Head ing" -1 26 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{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 "Heading 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 "Maple Out put" -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 "Bullet Item" -1 15 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 3 3 1 0 1 0 2 2 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 53 " \+ fixD - prepare a function for differentiation with D" }}{PARA 0 "" 0 " " {TEXT 26 17 "Calling sequence:" }{TEXT -1 0 "" }}{PARA 0 "" 0 "" {MPLTEXT 0 21 7 "fixD(f)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" }}{PARA 0 "" 0 "" {MPLTEXT 0 21 1 "f" }{TEXT -1 20 " - a procedure nam e " }}}{SECT 0 {PARA 3 "" 0 "" {TEXT 26 12 "Description:" }{TEXT -1 0 "" }{TEXT 26 0 "" }}{PARA 15 "" 0 "" {TEXT -1 79 "This procedure is a \+ work-around for a weakness in the differentiation operator " } {MPLTEXT 0 21 1 "D" }{TEXT -1 18 ": when a function " }{MPLTEXT 0 21 1 "f" }{TEXT -1 49 " is defined using a second user-defined function \+ " }{MPLTEXT 0 21 1 "g" }{TEXT -1 2 ", " }{MPLTEXT 0 21 4 "D(f)" } {TEXT -1 52 " doesn't work. What is needed is a procedure named " } {MPLTEXT 0 21 8 "`diff/g`" }{TEXT -1 38 " that performs the differenti ation of " }{MPLTEXT 0 21 1 "g" }{TEXT -1 1 "." }}{PARA 15 "" 0 "" {TEXT -1 12 "The command " }{MPLTEXT 0 21 7 "fixD(f)" }{TEXT -1 9 " ap plies " }{MPLTEXT 0 21 8 "makediff" }{TEXT -1 32 " to all user-defined procedures " }{MPLTEXT 0 21 1 "g" }{TEXT -1 15 " referenced in " } {MPLTEXT 0 21 1 "f" }{TEXT -1 23 ", defining a procedure " }{MPLTEXT 0 21 8 "`diff/g`" }{TEXT -1 37 " for each of them, and thus allowing \+ " }{MPLTEXT 0 21 4 "D(f)" }{TEXT -1 11 " to work. " }}{PARA 15 "" 0 " " {TEXT -1 78 "This works only for global procedures, not local proced ures or module exports." }}{PARA 15 "" 0 "" {TEXT -1 26 "If some of th e procedures " }{MPLTEXT 0 21 1 "g" }{TEXT -1 15 " referenced in " } {MPLTEXT 0 21 1 "f" }{TEXT -1 102 " can't be differentiated with respe ct to all their arguments, you should use the two-argument form of " } {MPLTEXT 0 21 8 "makediff" }{TEXT -1 22 " on those procedures. " }} {PARA 15 "" 0 "" {TEXT -1 29 "This function is part of the " }{TEXT 256 23 "Maple Advisor Database." }}}{SECT 0 {PARA 3 "" 0 "" {TEXT 26 9 "Examples:" }}{PARA 0 "" 0 "" {TEXT -1 9 "Defining " }{MPLTEXT 0 21 1 "f" }{TEXT -1 24 " using defined function " }{MPLTEXT 0 21 1 "g" } {TEXT -1 1 ":" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "f:= x -> x* g(x^2);\ng:= x -> 1 + x^2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGR6 #%\"xG6\"6$%)operatorG%&arrowGF(*&9$\"\"\"-%\"gG6#*$)F-\"\"#F.F.F(F(F( " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gGR6#%\"xG6\"6$%)operatorG%&ar rowGF(,&\"\"\"F-*$)9$\"\"#F-F-F(F(F(" }}}{PARA 0 "" 0 "" {MPLTEXT 0 21 4 "D(f)" }{TEXT -1 15 " does not work:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "D(f);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%\"DG6#%\"fG " }}}{PARA 0 "" 0 "" {TEXT -1 6 "Using " }{MPLTEXT 0 21 7 "fixD(f)" } {TEXT -1 19 " to make this work:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "fixD(f); D(f);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#R6#%\"xG6\"6 $%)operatorG%&arrowGF&,&-%\"gG6#*$)9$\"\"#\"\"\"F2*&\"\"%F2)F0F4F2F2F& F&F&" }}}{PARA 0 "" 0 "" {TEXT -1 17 "Another function " }{MPLTEXT 0 21 1 "h" }{TEXT -1 20 " defined using both " }{MPLTEXT 0 21 1 "f" } {TEXT -1 5 " and " }{MPLTEXT 0 21 1 "g" }{TEXT -1 1 "." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "h:= (x,y) -> f(x) + g(y); D[1](h); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"hGR6$%\"xG%\"yG6\"6$%)operator G%&arrowGF),&-%\"fG6#9$\"\"\"-%\"gG6#9%F2F)F)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-&%\"DG6#\"\"\"6#%\"hG" }}}{PARA 0 "" 0 "" {TEXT -1 6 " Using " }{MPLTEXT 0 21 7 "fixD(h)" }{TEXT -1 9 " to make " }{MPLTEXT 0 21 7 "D[1](h)" }{TEXT -1 6 " work:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "fixD(h); D[1](h);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# R6$%\"xG%\"yG6\"6$%)operatorG%&arrowGF',&\"\"\"F,*&\"\"&F,)9$\"\"%F,F, F'F'F'" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT 26 9 "See also:" }}{PARA 0 " " 0 "" {HYPERLNK 17 "D" 2 "D" "" }{TEXT -1 3 ", " }{HYPERLNK 17 "diff " 2 "diff" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "makediff" 2 "makediff" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "Problems with D" 2 "Problems_with_D " "" }}}{SECT 1 {PARA 0 "" 0 "" {TEXT 26 24 "Maple Advisor Database \+ " }{TEXT -1 15 "R. Israel, 2001" }}}{PARA 3 "" 0 "" {TEXT -1 0 "" }} {PARA 3 "" 0 "" {TEXT -1 0 "" }}}{MARK "3 1 6" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }