MatrixCustomAnswerChecker1
Matrices and Custom Answer Checkers
This PG code shows how to use a multianswer answer checker to evaluate an openended question about matrices.
 File location in OPL: FortLewis/Authoring/Templates/LinAlg/MatrixCustomAnswerChecker1.pg
 PGML location in OPL: FortLewis/Authoring/Templates/LinAlg/MatrixCustomAnswerChecker1_PGML.pg
PG problem file  Explanation 

Problem tagging: 

DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "parserMultiAnswer.pl", "AnswerFormatHelp.pl", "PGcourse.pl", ); $showPartialCorrectAnswers = 0; TEXT(beginproblem()); 
Initialization: 
Context('Matrix'); $A = Matrix([[1,1],[0,1]]); $B = Matrix([[1,0],[1,1]]); $multians = MultiAnswer($A, $B)>with( singleResult => 1, checker => sub { my ( $correct, $student, $answerHash ) = @_; my @s = @{$student}; $s0 = Matrix($s[0]); $s1 = Matrix($s[1]); return $s0 * $s1 != $s1 * $s0; } ); 
Setup:
Construct two matrices 
Context()>texStrings; BEGIN_TEXT Give an example of two \( 2 \times 2 \) matrices \( A \) and \( B \) such that \( AB \ne BA \). $BR $BR \( A = \) \{ $multians>ans_array(5) \} $BR $BR \( B = \) \{ $multians>ans_array(5) \} END_TEXT Context()>normalStrings; 
Main Text:
Make sure that both answer arrays are called as methods on the 
install_problem_grader(~~&std_problem_grader); ANS( $multians>cmp() ); COMMENT('MathObject version.'); ENDDOCUMENT(); 
Answer Evaluation: 