Log Message: 
Added ability to have Matrix, Vector and Point objects produce input
arrays similar to the ones available in PGmatrixmacros.pg. This
provides some substantial new functionality, and it may still have
some shaking down to do, but it should not affect the existing
functionality of the answer checkers.
To create an answer array for a matrix, vector or point, use the new
ans_array() or named_ans_array() methods of these objects. For
example:
Context("Matrix");
$M = Matrix([1,2],[3,4]);
BEGIN_TEXT
\{$M>TeX\} = \{$M>ans_array\}
END_TEXT
ANS($M>cmp);
This creates a matrix, then prints it ans creates an answer array of
the appropriate size for the matrix. The answer checker will
automatically know to handle the multiple entry blanks.
To used a named answer rule, use:
Context("Matrix");
$M = Matrix([1,2],[3,4]);
BEGIN_TEXT
\{$M>TeX\} = \{$M>named_ans_array('fred')\}
END_TEXT
NAMED_ANS(fred => $M>cmp);
Both methods also take an optional argument that specifies the width
of the answer rules. The default is 5.
You can get a multiinput point or vector array as well, and you can
make column vectors as follows:
Context("Vector");
$V = ColumnVector("1+x","3x","1x");
BEGIN_TEXT
\{$V>TeX\} = \{$V>ans_array\}
END_TEXT
ANS($V>cmp);
Note that you can make answer arrays for matrices and vectors of
formulas as well as constants, provided the formula is an explicit
matrix or vector of formulas, and is not obtained by matrix
arithmatic.
For concistencey, all objets now have ans_rule and named_ans_rule
methods as well. The default width is 20 for these.
