I'm using PGML and some subset of my students are getting correct answers marked wrong, for the reason in the subject line. If they enter "exp(-6x)*[...]" just like I did when composing the answer, they get the happy green flash, whereas if they enter a form that should be mathematically equivalent as "e^(-6x)*[...]" they get marked wrong. How do I fix this?
Here are the key lines in my problem source file. I define the answer like this:
$sinecase = FormulaUpToConstant("exp(-$k*x)*( -(m)/(m^2+$k^2)*cos(m*x) - ($k)/(m^2+$k^2)*sin(m*x))") -> reduce();
I use the answer-checker as follows:
Answer: [``\ \int e^{-[$k] x}\sin(m x)\,dx =\ ``][____________________________________________]{$sinecase}
By requesting diagnostics in the second line shown here, I can see that the issue is that some relative tolerance threshold is exceeded at a level around 1E-11. I tried to address this by changing the original definition of the desired answer as follows, but this did not work:
$sinecase = FormulaUpToConstant("exp(-$k*x)*( -(m)/(m^2+$k^2)*cos(m*x) - ($k)/(m^2+$k^2)*sin(m*x))") -> with( tolType => 'relative', tolerance => 0.001) -> reduce();
Beyond, "How do I fix this?" I would like to know if there is some comparatively self-contained nugget of deeper WW understanding that I could add to my limited stock in order to defend myself against inviting this problem back in the future.
Thanks, Philip