WeBWorKdocs

sq_webwork:


Home
Current UR courses
Visitor page
Intro to WeBWorK
WeBWorK 2 Twiki
WW Community
Grant Support & awards
Discussion group
Problem library
Write/modify problems
Create & manage course
Tutorial on running a course
HowTos
FAQ
WeBWorK2 FAQ
Software Download
How to Install WW server
Feedback
Site Map
Change preferences
Change password





Prev | Next | pod


random_diag_matrix

This method returns a random nxn diagonal matrix.

basis_cmp()

Compares a list of vectors by finding the change of coordinate matrix from the Prof's vectors to the students, and then taking the determinant of that to determine the existence of the change of coordinate matrix going the other way.

ANS( basis_cmp( vectors_as_array_ref_in_array_ref, options_hash ) );

    1. a reference to an array of correct vectors
    2. a hash with the following keys (all optional):
    mode        --  'basis' (default) (only a basis allowed)
                'orthogonal' (only an orthogonal basis is allowed)
                'unit' (only unit vectors in the basis allowed)
                'orthonormal' (only orthogonal unit vectors in basis allowed)
    zeroLevelTol    --  absolute tolerance to allow when answer is close
                    to zero
    debug       --  if set to 1, provides verbose listing of
                hash entries throughout fliters.
    help    --  'none' (default) (is quiet on all errors)
            'dim' (Tells student if wrong number of vectors are entered)
            'length' (Tells student if there is a vector of the wrong length)
            'orthogonal' (Tells student if their vectors are not orthogonal)
                (This is only in orthogonal mode)
            'unit' (Tells student if there is a vector not of unit length)
                (This is only in unit mode)
            'orthonormal' (Gives errors from orthogonal and orthonormal)
                (This is only in orthonormal mode)
            'verbose' (Gives all the above answer messages)
    Returns an answer evaluator.

EXAMPLES:

    basis_cmp([[1,0,0],[0,1,0],[0,0,1]])
                    --  correct answer is any basis for R^3.
    basis_cmp([1,0,2,0],[0,1,0,0], 'mode'=>orthonormal )
                    --  correct answer is any orthonormal basis
                    for this space such as:
                    [1/sqrt(3),0,2/sqrt(3),0],[0,1,0,0]


BASIS_CMP

Made to keep the same format as num_cmp and fun_cmp.

compare_basis

    compare_basis( $ans_hash,
    %options
    ra_student_ans  # a reference to the array of students answer vectors
    rm_correct_ans, # a reference to the correct answer matrix
    %options
    )

vec_list_string

This is a check_syntax type method (in fact I borrowed some of that method's code) for vector input. The student needs to enter vectors like: [1,0,0],[1,2,3],[0,9/sqrt(10),1/sqrt(10)] Each entry can contain functions and operations and the usual math constants (pi and e). The vectors, however can not be added or multiplied or scalar multiplied by the student. Most errors are handled well. Any error in an entry is caught by the PG_answer_eval like it is in num_cmp or fun_cmp. Right now the method basically ignores every thing outside the vectors. Also, an unmatched open parenthesis is caught, but a unmatched close parenthesis ends the vector, and since everything outside is ignored, no error is sent (other than the later when the length of the vectors is checked. In the end, the method returns an array of Matrix objects.

ans_array_filter
    This filter was created to get, format, and evaluate each entry of the ans_array 
     and ans_array_extension
    answer entry methods. Running this filter is necessary to get all the entries 
     out of the answer
    hash. Each entry is evaluated and the resulting number is put in the display 
     for student answer
    as a string. For evaluation purposes an array of arrays of arrays is created 
     called ra_student_ans
    and placed in the hash. The entries are [array_number][row_number][column_number]. 
     The latex strings
    for each entry are taken from the parser and put, as a matrix, into the previewer. 
     The preview text
    string is also created, but this display method becomes confusing when large 
     matrices are used.

File path = /ww/webwork/pg/macros/PGmorematrixmacros.pl

<| Post or View Comments |>


Prev | Next | pod

Last update: Tuesday, September 14, 2004 at 2:15:44 PM.
This site maintained using Manila and Frontier software.