## WeBWorK Problems

### Bug(s) (or user error?) with D derivative method

by Alex Jordan -
Number of replies: 2
I discovered the following, trying to write a check to establish if a student's answer for a series question is a p-series. [As a side note, if anyone has a suggestion for a better way to accomplish this, I'd love to hear it.] Here is a minimal code snippet example of the issue.

$myf= Formula("1/n");$mydf=$myf->D('n');$shouldbeminusone = ($myf/$mydf)/Formula("n");
$shouldbezero=$shouldbeminusone ->D('n');
#
BEGIN_PGML
[@$mydf@] [@$shouldbeminusone@]

[@$shouldbezero@] END_PGML This outputs three lines: (-1)/(n^2) 1/n/[1/(n^2)]/n ([1/(n^2)*1/(n^2)-1/n*2*n/[(n^2)^2]]/[(-[1/(n^2)])^2]*n-1/n/[1/(n^2)])/(n^2) The top line is the correct derivative of 1/n. The second line should be displaying 1/n/[(-1)/(n^2)]/n but the minus sign is missing. This is issue #1. Regardless of whether the second line reduces to 1 or -1, the bottom line is defined as its derivative, and should simplify to 0. But it simplifies to -2/n. (Try copying and pasting it into WolframAlpha to see this. In any case, in PG it is being counted as equal to Formula("0").) This is issue #2. And so my check that this equals Formula("0") (as a way to check whether the original thing was a p-series) fails. Something about D is not working here. Or I am not using D correctly. In reply to Alex Jordan ### Re: Bug(s) (or user error?) with D derivative method by Alex Jordan - Here is evidence that the D method is altering what you apply it to. For instance, if you comment out the line in the minimal example that calls D on$shouldbeminusone then when \$shouldbeminusone is displayed, the minus sign no longer is dropped.
In reply to Alex Jordan

### Re: Bug(s) (or user error?) with D derivative method

by Alex Jordan -
I adopted a less slick process to test if my students' series are p-series that avoids calling D so much. So while I think there is an issue here about D modifying the MathObject that called it, it's not an urgent matter for me at least. Something to look at some time.