Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Rightclick on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
From: SourceForge.net <noreply@so...>  20060722 15:48:51

Bugs item #873301, was opened at 20040108 13:39 Message generated for change (Comment added) made by robert_dodier You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=873301&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. >Category: Lisp Core Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: Gradef doesn't understand diff (workaround) Initial Comment: Suppose that f(x)=exp(g(x)). Then f'(x)=f(x)*g'(x). So how do we define this using gradef? Let's try the obvious solution: gradef( f(x), f(x) * diff(g(x),x) ) Now diff(f(x^2),x) => f(x1)*'DIFF(g(x1),x1,1) Oops! That isn't right! It is substituting x1 for x in the *second* argument of diff as well as the first! So we have to work around this doing something like gradef( f(x), f(x) * g1(x) ) gradef( g(x), g1(x) )  >Comment By: Robert Dodier (robert_dodier) Date: 20060722 09:48 Message: Logged In: YES user_id=501686 In 5.9.3cvs, I'm seeing a different wrong answer. gradef( f(x), f(x) * diff(g(x),x) ); diff(f(x^2),x) ; => 2*x*f(x^2)*'?%diff(g(x^2),x^2,1) Should be 2*x*f(x^2)*at('?%diff(g(u),u,1),[u=x^2]) or something like that (i.e., distinguish point of evaluation x^2 from variable of differentiation). <rant> Maxima adopts numerous mathematical conventions, mostly successfully, but this customary sloppiness with differentials is something I wish we could clean up. </rant> Not sure how the proposed workaround is supposed to work. It turns out g1(x) = bessel_i(1,x)*%e^x  surprise!  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=873301&group_id=4933 
From: SourceForge.net <noreply@so...>  20100511 20:34:08

Bugs item #873301, was opened at 20040108 21:39 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=873301&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: Gradef doesn't understand diff (workaround) Initial Comment: Suppose that f(x)=exp(g(x)). Then f'(x)=f(x)*g'(x). So how do we define this using gradef? Let's try the obvious solution: gradef( f(x), f(x) * diff(g(x),x) ) Now diff(f(x^2),x) => f(x1)*'DIFF(g(x1),x1,1) Oops! That isn't right! It is substituting x1 for x in the *second* argument of diff as well as the first! So we have to work around this doing something like gradef( f(x), f(x) * g1(x) ) gradef( g(x), g1(x) )  >Comment By: Dieter Kaiser (crategus) Date: 20100511 22:34 Message: First, again the example of this bug report: (%i6) gradef(f(x), f(x)*diff(g(x),x)); We get a wrong result with the above definition: (%i7) diff(f(2*sin(x)),x); (%o7) 2*cos(x)*f(2*sin(x))*'diff(g(2*sin(x)),2*sin(x),1) But Maxima can do it correctly. We have to define the problem the following way: (%i8) gradef(f(x), f(x)*at(diff(g(u),u),u=x))$ (%i9) diff(f(2*sin(x)),x); (%o9) 2*('at('diff(g(u),u,1),u = 2*sin(x)))*cos(x)*f(2*sin(x)) The example of the bug report now gives a correct result too: (%i10) diff(f(x^2),x); (%o10) 2*('at('diff(g(u),u,1),u = x^2))*x*f(x^2) >From this we might conclude, that we have not a bug, but we have to formulate the problem more precisely. By the way: The derivatives of the nine inverse Jacobi functions wrt the parameter m are defined as a noun form. Furthermore, the derivatives of the Bessel Y and K functions wrt the order have a noun form of a derivative on the property list. All this derivatives do not work too, but have the same error as reported in this bug report, e.g. (%i11) diff(inverse_jacobi_ns(x,2*m),m); (%o11) 2*'diff(inverse_jacobi_ns(x,2*m),2*m,1) The error for the inverse Jacobi functions is easy to correct. We simply put NIL for the derivative wrt the parameter m on the property list. We had some time ago an extension to sdiff to return a noun form for this case. With this change we get a correct noun form: (%i13) diff(inverse_jacobi_ns(x,2*m),m); (%o13) 'diff(inverse_jacobi_ns(x,2*m),m,1) This is an example of a wrong derivative of a Bessel K function: (%i15) diff(bessel_k(sin(n),x),n); (%o15) cos(n)*(%pi*csc(%pi*sin(n)) *('diff(bessel_i(sin(n),x),sin(n),1) 'diff(bessel_i(sin(n),x),sin(n),1)) /2 %pi*bessel_k(sin(n),x)*cot(%pi*sin(n))) To get this derivative in general correct we can put an expression with AT on the property list. Dieter Kaiser  Comment By: Robert Dodier (robert_dodier) Date: 20060722 17:48 Message: Logged In: YES user_id=501686 In 5.9.3cvs, I'm seeing a different wrong answer. gradef( f(x), f(x) * diff(g(x),x) ); diff(f(x^2),x) ; => 2*x*f(x^2)*'?%diff(g(x^2),x^2,1) Should be 2*x*f(x^2)*at('?%diff(g(u),u,1),[u=x^2]) or something like that (i.e., distinguish point of evaluation x^2 from variable of differentiation). <rant> Maxima adopts numerous mathematical conventions, mostly successfully, but this customary sloppiness with differentials is something I wish we could clean up. </rant> Not sure how the proposed workaround is supposed to work. It turns out g1(x) = bessel_i(1,x)*%e^x  surprise!  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=873301&group_id=4933 
From: SourceForge.net <noreply@so...>  20100527 20:55:22

Bugs item #873301, was opened at 20040108 21:39 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=873301&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core Group: None >Status: Pending >Resolution: Works For Me Priority: 5 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: Gradef doesn't understand diff (workaround) Initial Comment: Suppose that f(x)=exp(g(x)). Then f'(x)=f(x)*g'(x). So how do we define this using gradef? Let's try the obvious solution: gradef( f(x), f(x) * diff(g(x),x) ) Now diff(f(x^2),x) => f(x1)*'DIFF(g(x1),x1,1) Oops! That isn't right! It is substituting x1 for x in the *second* argument of diff as well as the first! So we have to work around this doing something like gradef( f(x), f(x) * g1(x) ) gradef( g(x), g1(x) )  >Comment By: Dieter Kaiser (crategus) Date: 20100527 22:55 Message: As explained in the last posting I would like to suggest to close this bug report as "works for me". Setting the status to pending. Dieter Kaiser  Comment By: Dieter Kaiser (crategus) Date: 20100511 22:34 Message: First, again the example of this bug report: (%i6) gradef(f(x), f(x)*diff(g(x),x)); We get a wrong result with the above definition: (%i7) diff(f(2*sin(x)),x); (%o7) 2*cos(x)*f(2*sin(x))*'diff(g(2*sin(x)),2*sin(x),1) But Maxima can do it correctly. We have to define the problem the following way: (%i8) gradef(f(x), f(x)*at(diff(g(u),u),u=x))$ (%i9) diff(f(2*sin(x)),x); (%o9) 2*('at('diff(g(u),u,1),u = 2*sin(x)))*cos(x)*f(2*sin(x)) The example of the bug report now gives a correct result too: (%i10) diff(f(x^2),x); (%o10) 2*('at('diff(g(u),u,1),u = x^2))*x*f(x^2) >From this we might conclude, that we have not a bug, but we have to formulate the problem more precisely. By the way: The derivatives of the nine inverse Jacobi functions wrt the parameter m are defined as a noun form. Furthermore, the derivatives of the Bessel Y and K functions wrt the order have a noun form of a derivative on the property list. All this derivatives do not work too, but have the same error as reported in this bug report, e.g. (%i11) diff(inverse_jacobi_ns(x,2*m),m); (%o11) 2*'diff(inverse_jacobi_ns(x,2*m),2*m,1) The error for the inverse Jacobi functions is easy to correct. We simply put NIL for the derivative wrt the parameter m on the property list. We had some time ago an extension to sdiff to return a noun form for this case. With this change we get a correct noun form: (%i13) diff(inverse_jacobi_ns(x,2*m),m); (%o13) 'diff(inverse_jacobi_ns(x,2*m),m,1) This is an example of a wrong derivative of a Bessel K function: (%i15) diff(bessel_k(sin(n),x),n); (%o15) cos(n)*(%pi*csc(%pi*sin(n)) *('diff(bessel_i(sin(n),x),sin(n),1) 'diff(bessel_i(sin(n),x),sin(n),1)) /2 %pi*bessel_k(sin(n),x)*cot(%pi*sin(n))) To get this derivative in general correct we can put an expression with AT on the property list. Dieter Kaiser  Comment By: Robert Dodier (robert_dodier) Date: 20060722 17:48 Message: Logged In: YES user_id=501686 In 5.9.3cvs, I'm seeing a different wrong answer. gradef( f(x), f(x) * diff(g(x),x) ); diff(f(x^2),x) ; => 2*x*f(x^2)*'?%diff(g(x^2),x^2,1) Should be 2*x*f(x^2)*at('?%diff(g(u),u,1),[u=x^2]) or something like that (i.e., distinguish point of evaluation x^2 from variable of differentiation). <rant> Maxima adopts numerous mathematical conventions, mostly successfully, but this customary sloppiness with differentials is something I wish we could clean up. </rant> Not sure how the proposed workaround is supposed to work. It turns out g1(x) = bessel_i(1,x)*%e^x  surprise!  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=873301&group_id=4933 
From: SourceForge.net <noreply@so...>  20100611 02:20:11

Bugs item #873301, was opened at 20040108 20:39 Message generated for change (Comment added) made by sfrobot You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=873301&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core Group: None >Status: Closed Resolution: Works For Me Priority: 5 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: Gradef doesn't understand diff (workaround) Initial Comment: Suppose that f(x)=exp(g(x)). Then f'(x)=f(x)*g'(x). So how do we define this using gradef? Let's try the obvious solution: gradef( f(x), f(x) * diff(g(x),x) ) Now diff(f(x^2),x) => f(x1)*'DIFF(g(x1),x1,1) Oops! That isn't right! It is substituting x1 for x in the *second* argument of diff as well as the first! So we have to work around this doing something like gradef( f(x), f(x) * g1(x) ) gradef( g(x), g1(x) )  >Comment By: SourceForge Robot (sfrobot) Date: 20100611 02:20 Message: This Tracker item was closed automatically by the system. It was previously set to a Pending status, and the original submitter did not respond within 14 days (the time period specified by the administrator of this Tracker).  Comment By: Dieter Kaiser (crategus) Date: 20100527 20:55 Message: As explained in the last posting I would like to suggest to close this bug report as "works for me". Setting the status to pending. Dieter Kaiser  Comment By: Dieter Kaiser (crategus) Date: 20100511 20:34 Message: First, again the example of this bug report: (%i6) gradef(f(x), f(x)*diff(g(x),x)); We get a wrong result with the above definition: (%i7) diff(f(2*sin(x)),x); (%o7) 2*cos(x)*f(2*sin(x))*'diff(g(2*sin(x)),2*sin(x),1) But Maxima can do it correctly. We have to define the problem the following way: (%i8) gradef(f(x), f(x)*at(diff(g(u),u),u=x))$ (%i9) diff(f(2*sin(x)),x); (%o9) 2*('at('diff(g(u),u,1),u = 2*sin(x)))*cos(x)*f(2*sin(x)) The example of the bug report now gives a correct result too: (%i10) diff(f(x^2),x); (%o10) 2*('at('diff(g(u),u,1),u = x^2))*x*f(x^2) >From this we might conclude, that we have not a bug, but we have to formulate the problem more precisely. By the way: The derivatives of the nine inverse Jacobi functions wrt the parameter m are defined as a noun form. Furthermore, the derivatives of the Bessel Y and K functions wrt the order have a noun form of a derivative on the property list. All this derivatives do not work too, but have the same error as reported in this bug report, e.g. (%i11) diff(inverse_jacobi_ns(x,2*m),m); (%o11) 2*'diff(inverse_jacobi_ns(x,2*m),2*m,1) The error for the inverse Jacobi functions is easy to correct. We simply put NIL for the derivative wrt the parameter m on the property list. We had some time ago an extension to sdiff to return a noun form for this case. With this change we get a correct noun form: (%i13) diff(inverse_jacobi_ns(x,2*m),m); (%o13) 'diff(inverse_jacobi_ns(x,2*m),m,1) This is an example of a wrong derivative of a Bessel K function: (%i15) diff(bessel_k(sin(n),x),n); (%o15) cos(n)*(%pi*csc(%pi*sin(n)) *('diff(bessel_i(sin(n),x),sin(n),1) 'diff(bessel_i(sin(n),x),sin(n),1)) /2 %pi*bessel_k(sin(n),x)*cot(%pi*sin(n))) To get this derivative in general correct we can put an expression with AT on the property list. Dieter Kaiser  Comment By: Robert Dodier (robert_dodier) Date: 20060722 15:48 Message: Logged In: YES user_id=501686 In 5.9.3cvs, I'm seeing a different wrong answer. gradef( f(x), f(x) * diff(g(x),x) ); diff(f(x^2),x) ; => 2*x*f(x^2)*'?%diff(g(x^2),x^2,1) Should be 2*x*f(x^2)*at('?%diff(g(u),u,1),[u=x^2]) or something like that (i.e., distinguish point of evaluation x^2 from variable of differentiation). <rant> Maxima adopts numerous mathematical conventions, mostly successfully, but this customary sloppiness with differentials is something I wish we could clean up. </rant> Not sure how the proposed workaround is supposed to work. It turns out g1(x) = bessel_i(1,x)*%e^x  surprise!  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=873301&group_id=4933 