(Difference between revisions)

Answer is a Matrix 1

This PG code shows how to evaluate answers that are matrices.

PG problem file Explanation

Problem tagging:

DOCUMENT();

"PGstandard.pl",
"MathObjects.pl",
);

TEXT(beginproblem());

Initialization:

Context("Matrix");

\$A = Matrix([
[random(-5,5,1),random(-5,5,1),random(-5,5,1)],
[random(-5,5,1),random(-5,5,1),random(-5,5,1)],
]);

\$B = Matrix([random(-5,5,1),random(-5,5,1),random(-5,5,1)]);

\$answer = \$A * (\$B->transpose);

Setup: Use Context("Matrix");. MathObject matrices are constructed using the Matrix() constructor. The matrix A has two rows and three columns, and is constructed by [ [row 1 entries], [row 2 entries] ], and this construction generalizes in the obvious way. If a matrix has only one row, such as B, then it is entered as [row 1 entries] and not as [ [row 1 entries] ]. If \$B = Matrix([a,b,c]);, then the matrix \$B->transpose is equivalent to Matrix([[a],[b],[c]]); which has an outer pair of brackets enclosing all of the rows, where each row encloses its single element with brackets.

Context()->texStrings;
BEGIN_TEXT
Suppose
\[
A = \$A
\ \ \mbox{and} \ \
B = \$B.
\]
Evaluate the following matrix product.
\$BR
\$BR
\( A B^T = \)
END_TEXT
Context()->normalStrings;

Main Text: Use the ->ans_array(width) method on the MathObject matrix \$answer to produce an array of answer boxes each with a specified character width.

Answer Evaluation: Use standard MathObject answer evaluation.

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

COMMENT('MathObject version.');

ENDDOCUMENT();

Solution: