When the parameter values were chosen by problem Library/Rochester/setDiffEQ5ModelingWith1stOrder/ns7_4_31a.pg, one of my students was faced with solving in part (c) the ODE S' = 0.02*9 - (9/2440)S with initial condition S(0) = 0.

He obtained the incorrect solution S(t) = 48(1 - exp(-(3/800)*tt) ) which, however, WeBWorK accepted as correct!

And that was not surprising, I found, because over the relevant range of 0 <= t <= 60 (say), this is quite close to the the correct solution S(t) = (244/5) (1- exp(-(9/2440)*t) ) which one obtains by rationalizing 0.02 to 2/100 and solving exactly without any use of decimals. In fact, the absolute difference between his solution and the correct solution is on the order of 10^(-15) only!

And then, when he calculated S(57) for part (d) of that problem, he correctly (from his wrong but marked-right solution) obtained a value that was marked wrong by WeBWorK and in fact was wrong if you use the actually correct solution.

All this seems to be a consequence of WeBWorK's modus operandi in checking symbolic expressions not as such, but instead evaluating them at some selection of numbers and then checking if the student's function gives the same value as the author's solution — to within the specified tolerance.

### subtle (?) precision problem

by Murray Eisenberg -
In reply to Murray Eisenberg
Thursday, 4 February 2010, 10:17 PM

### Re: subtle (?) precision problem

by Darwyn Cook -
Interesting problem, but it seems to me you have drawn the wrong conclusion. The method WeBWorK uses to test equality of expression has proven to be quite robust, and simple.

A more thorough method, ie attempting algebraic simplification, has proven to be problematic. Maple is pretty good at simplifying expressions, but it has more trouble testing equality of general expressions than WeBWorK does in my opinion.

The issue here is not the method used to test equality, its in the problem. Judicious choices for coefficients would solve the issue.

A more thorough method, ie attempting algebraic simplification, has proven to be problematic. Maple is pretty good at simplifying expressions, but it has more trouble testing equality of general expressions than WeBWorK does in my opinion.

The issue here is not the method used to test equality, its in the problem. Judicious choices for coefficients would solve the issue.

In reply to Darwyn Cook
Friday, 5 February 2010, 5:15 PM

### Re: subtle (?) precision problem

by Murray Eisenberg -
I don't know why algebraic simplification would be problematic: if you simplify an expression, it should transform into a canonical form for the CAS system in question; of course special kinds of simplifications may be required, e.g., where trig functions are involved. With Maple in another homework system, I've not seen such a problem. And I would not expect such a problem with the CAS system with which I'm most familiar, namely, Mathematica.

But I doubt that "judicious choices" for coefficients would necessarily avoid the problem in this question or in others: given a function of a particular form, it should often be possible to rig up another, clearly different function that nonetheless has maximum absolute error small.

But I doubt that "judicious choices" for coefficients would necessarily avoid the problem in this question or in others: given a function of a particular form, it should often be possible to rig up another, clearly different function that nonetheless has maximum absolute error small.

In reply to Murray Eisenberg
Sunday, 7 February 2010, 2:58 PM

### Re: subtle (?) precision problem

by Darwyn Cook -
Even in the relatively simple case of a fifth degree polynomial you have no guarantee that you can factor it. There are sophisticated numerical approximations techniques, but that doesn't even touch the transcendental function case. You could easily run into a case of a rational function that you could not simplify while a student might get lucky.