## WeBWorK Problems

### subtle (?) precision problem

by Murray Eisenberg -
Number of replies: 3
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.

### 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.