Full code:

DOCUMENT();

loadMacros(

"PGstandard.pl",

"PGchoicemacros.pl",

"PGcourse.pl",

"MathObjects.pl",

);

Context('Vector');

$a = random(-5,5,1);

$b = random(-5,5,1);

while ($a == $b) { $b = random(-5,5,1); } # make sure curl is not = 0

$c = random(-5,5,1);

$d = random(-5,5,1);

$e = random(-5,5,1);

$f = random(-5,5,1);

$f1 = nicestring([$a, $d],[ 'y', 'z']);

$f2 = nicestring([$b, $e],[ 'x', 'z']);

$f3 = nicestring([$c, $f],[ 'x', 'y']);

$curl = Vector( $f-$e, $d-$c, $b-$a );

$p1 = non_zero_random(-5,5,1);

$p2 = random(-5,5,1);

$p3 = random(-5,5,1);

$v1 = random(-5,5,1);

$v2 = random(-5,5,1);

$v3 = non_zero_random(-5,5,1);

$vector = Vector($v1, $v2, $v3);

$rotation = $curl.$vector/norm($vector);

Context('Numeric');

##

TEXT(beginproblem());

BEGIN_TEXT

Consider the vector field

\( \vec{F}(x,y,z) = \langle $f1, $f2, $f3 \rangle \).

$BR

Find the divergence and curl of \(\vec{F} \). Use < > for vectors.

$BR

$BR

\( \textrm{div}(\vec{F}) = \) \{ans_rule(20)\}.

$BR

\( \textrm{curl}(\vec{F}) = \) \{ans_rule(20)\}.

$BR

$BR

What is the "right-hand" rotation of \(\vec{F}\) at the point \( ($p1,$p2,$p3 ) \) around the vector \( \langle $v1, $v2, $v3 \rangle \) ?

$BR

$BR

\(\textrm{rotation} = \) \{ans_rule(20)\}.

END_TEXT

ANS(num_cmp(0));

ANS($curl->cmp());

ANS($rotation->cmp());

ENDDOCUMENT();