William,

The issue actually has nothing to do with adaptive parameters, but differentiation. The the post-processing of the student's response, there is a test to see if the student's answer is linear in the constant. This is performed using differentiation.

The way that differentiation is performed does not look ahead to see if the input to a function is a constant. So, for example,

d/dx[asin(1)]

is treated algorithmically as:

d/dx[asin(u)] = 1/sqrt(1-u^2) * d/dx[u]

and now u is replaced by 1.

This is where the division by zero error is creeping in, because it deals with 1/sqrt(1-1) before noticing that d/dx[1] = 0.

I have posted a bug-report in the webwork bugzilla on this issue. I'm not sure how to avoid it right now, since it depends entirely on the student response (and would appear in ANY problem, regardless of the form of the original function) including evaluation of a function at a constant that happens to be a point where the function is nondifferentiable.

- Brian

D. Brian Walton

James Madison University