If you take the "trig-friendly" definition that maps negative inputs to second quadrant angles, the derivative involves an absolute value.
If you take the "calculus-friendly" definition, with negative inputs mapped to the third quadrant, the absolute value disappears.
WeBWorK seems to use the first definition, while we use the second, so students won't know that they have to put the absolute value in. I was able to work around this by simply hard-coding the answer instead of using the built-in derivative calculator, but I was curious if there's somewhere that we can choose between the two definitions of the inverse secant function.
## DESCRIPTION
## Calculus
## ENDDESCRIPTION
## Tagged by tda2d
## DBsubject(Calculus - single variable)
## DBchapter(Differentiation)
## DBsection(Derivatives of inverse trigonometric functions)
## Date(8/23/07)
## Institution(Union College)
## MLT(DerivInvTrig-FuncOfConstMult)
## MLTleader(1)
## Level(2)
## MO(1)
## TitleText1('Calculus: Early Transcendentals')
## AuthorText1('Rogawski')
## EditionText1('1')
## Section1('3.9')
## Problem1('25')
## KEYWORDS('derivative' 'inverse trig')
DOCUMENT(); # This should be the first executable line in the problem.
loadMacros(
"PGstandard.pl",
"PGunion.pl", # Union College utilities
"MathObjects.pl",
"PGcourse.pl", # Customization file for the course
);
TEXT(beginproblem());
###################################
# Setup
$a = random(2,8,1);
$b = random(2,8,1);
$point = random(1,5,1);
$f=Formula("$b arcsec($a x)");
###################################
# Main text
Context()->texStrings;
BEGIN_TEXT
Let \( f(x) = \displaystyle $f \). Find \(f'(x)\).
$PAR
\(f'(x) =\) \{ans_rule(50) \}
$PAR
Find \( f'( $point ) \).
$PAR
\( f'( $point ) = \)\{ans_rule(50) \}
END_TEXT
Context()->normalStrings;
###################################
# Answers
$showPartialCorrectAnswers = 1;
$fprime=$f->D('x');
$fprimeatpoint=Real($fprime->eval(x=>$point));
ANS($fprime->with(limits => [-2,-1], tolerance => .001)->cmp);
ANS($fprimeatpoint->cmp);
###################################
;
ENDDOCUMENT();