# FunctionDecomposition1

Jump to: navigation, search

## Function Decomposition

Click to enlarge

This PG code shows how to check student answers that are a composition of functions.

PG problem file Explanation

Problem tagging:

DOCUMENT();

loadMacros(
"PGstandard.pl",
"MathObjects.pl",
"answerComposition.pl",
"AnswerFormatHelp.pl",
);

TEXT(beginproblem());


Initialization: We need to include the macros file answerComposition.pl, which provides an answer checker that determines if two functions compose to form a given function. This can be used in problems where you ask a student to break a given function into a composition of two simpler functions, neither of which is allowed to be the identity function.

Context("Numeric");
Context()->variables->add(u=>"Real");

$a = random(2,9,1);$f = Formula("sqrt(u)");
$g = Formula("x^2+$a");


Setup:

Context()->texStrings;
BEGIN_TEXT
Express the function $$y = \sqrt{ x^2 + a }$$
as a composition $$y = f(g(x))$$ of two simpler
functions $$y = f(u)$$ and $$u = g(x)$$.
$BR$BR
$$f(u)$$ = \{ ans_rule(20) \}
\{ AnswerFormatHelp("formulas") \}
$BR $$g(x)$$ = \{ ans_rule(20) \} \{ AnswerFormatHelp("formulas") \} END_TEXT Context()->normalStrings;  Main Text: $showPartialCorrectAnswers = 1;

COMPOSITION_ANS( $f,$g, vars=>['u','x'], showVariableHints=>1);


Answer Evaluation: We use the COMPOSITION_ANS() routine to evaluate both answer blanks. It is possible to use the same variable for both answer blanks. See answerComposition.pl.html for more options and details.

Context()->texStrings;
BEGIN_SOLUTION
${PAR}SOLUTION:${PAR}
Solution explanation goes here.
END_SOLUTION
Context()->normalStrings;

COMMENT('MathObject version.');

ENDDOCUMENT();


Solution: