|
| 1 | +##DESCRIPTION |
| 2 | +## Orthogonal sets, matrices, and projections |
| 3 | +##ENDDESCRIPTION |
| 4 | + |
| 5 | + |
| 6 | +## DBsubject(Linear algebra) |
| 7 | +## DBchapter(Vector geometry) |
| 8 | +## DBsection(Dot product, length, and unit vectors) |
| 9 | +## Date(11/25/2024) |
| 10 | +## Institution(Georgia Institute of Technology) |
| 11 | +## Author(Seth Brunner) |
| 12 | +## Level(2) |
| 13 | + |
| 14 | +DOCUMENT(); |
| 15 | +loadMacros( |
| 16 | + "PGstandard.pl", |
| 17 | + "PGgraders.pl", |
| 18 | + "MathObjects.pl", |
| 19 | + "PGchoicemacros.pl", |
| 20 | + "matrixExtensions.pl", |
| 21 | + "unionLists.pl", |
| 22 | + "unionTables.pl", |
| 23 | + "Alfredmacros.pl", |
| 24 | + "parserPopUp.pl", |
| 25 | + "PGcourse.pl", |
| 26 | +); |
| 27 | + |
| 28 | + |
| 29 | +TEXT(beginproblem()); |
| 30 | + |
| 31 | +Context("Numeric"); |
| 32 | + |
| 33 | +$dropdown_a = PopUp(["?", "A", "B", "C", "D","More than one of the given sets","None of the given sets"], "B"); |
| 34 | +$dropdown_b = PopUp(["?", "A", "B", "C", "D","More than one of the given sets","None of the given sets"], "D"); |
| 35 | +$dropdown_c = PopUp(["?", "A", "B", "C", "D","More than one of the given sets","None of the given sets"], "C"); |
| 36 | +$dropdown_d = PopUp(["?", "A", "B", "C", "D","More than one of the given sets","None of the given sets"], "A"); |
| 37 | + |
| 38 | +$normu=random(1,5,1); |
| 39 | +$udotu=Compute("$normu**2"); |
| 40 | +$normv=random(1,6,1); |
| 41 | +$vdotv=Compute("$normv**2"); |
| 42 | +$ssl=Compute("$normu**2+$normv**2"); |
| 43 | +while($normu==$normv) |
| 44 | +{ |
| 45 | + $normv=random(1,6,1); |
| 46 | +} |
| 47 | +$dotP=0; |
| 48 | + |
| 49 | +Context()->texStrings; |
| 50 | + |
| 51 | +$mc1 = new_checkbox_multiple_choice(); |
| 52 | +$mc1 -> qa ( |
| 53 | +"Which of the following sets contain only unit vectors? $BITALIC Select all that apply$EITALIC.", |
| 54 | + |
| 55 | +"\(\left\lbrace\frac1{$normu}\vec u,\frac1{$normv}\vec v\right\rbrace\)", |
| 56 | + |
| 57 | +"\(\left\lbrace\frac{$normv}{$udotu\sqrt{$ssl}}\vec u+\frac{$normu}{$vdotv\sqrt{$ssl}}\vec v,\frac{$normu}{$udotu\sqrt{$ssl}}\vec u+\frac{$normv}{$vdotv\sqrt{$ssl}}\vec v\right\rbrace\)", |
| 58 | + ); |
| 59 | +$mc1 -> extra( |
| 60 | +"\(\left\lbrace\vec u+\vec v,\vec u-\vec v\right\rbrace\)", |
| 61 | + |
| 62 | +"\(\left\lbrace\frac1{$normu}\vec u+\frac1{$normv}\vec v,\frac1{$normu}\vec u-\frac1{$normv}\vec v\right\rbrace\)", |
| 63 | +); |
| 64 | +$mc1 -> makeLast("None of the above"); |
| 65 | + |
| 66 | +$mc2 = new_checkbox_multiple_choice(); |
| 67 | +$mc2 -> qa ( |
| 68 | +"Which of the following sets are orthogonal? $BITALIC Select all that apply$EITALIC.", |
| 69 | + |
| 70 | +"\(\left\lbrace\frac1{$normu}\vec u,\frac1{$normv}\vec v\right\rbrace\)", |
| 71 | + |
| 72 | +"\(\left\lbrace\frac1{$normu}\vec u+\frac1{$normv}\vec v,\frac1{$normu}\vec u-\frac1{$normv}\vec v\right\rbrace\)", |
| 73 | + ); |
| 74 | +$mc2 -> extra( |
| 75 | +"\(\left\lbrace\vec u+\vec v,\vec u-\vec v\right\rbrace\)", |
| 76 | + |
| 77 | +"\(\left\lbrace\frac{$normv}{$udotu\sqrt{$ssl}}\vec u+\frac{$normu}{$vdotv\sqrt{$ssl}}\vec v,\frac{$normu}{$udotu\sqrt{$ssl}}\vec u+\frac{$normv}{$vdotv\sqrt{$ssl}}\vec v\right\rbrace\)", |
| 78 | + ); |
| 79 | +$mc2 -> makeLast("None of the above"); |
| 80 | + |
| 81 | + |
| 82 | +$mc3 = new_checkbox_multiple_choice(); |
| 83 | +$mc3 -> qa ( |
| 84 | +"Based on the previous two questions, which of the following sets are orthonormal? $BITALIC Select all that apply$EITALIC.", |
| 85 | + |
| 86 | +"\(\left\lbrace\frac1{$normu}\vec u,\frac1{$normv}\vec v\right\rbrace\)", |
| 87 | + ); |
| 88 | +$mc3 -> extra( |
| 89 | +"\(\left\lbrace\vec u+\vec v,\vec u-\vec v\right\rbrace\)", |
| 90 | + |
| 91 | +"\(\left\lbrace\frac{$normv}{$udotu\sqrt{$ssl}}\vec u+\frac{$normu}{$vdotv\sqrt{$ssl}}\vec v,\frac{$normu}{$udotu\sqrt{$ssl}}\vec u+\frac{$normv}{$vdotv\sqrt{$ssl}}\vec v\right\rbrace\)", |
| 92 | + |
| 93 | +"\(\left\lbrace\frac1{$normu}\vec u+\frac1{$normv}\vec v,\frac1{$normu}\vec u-\frac1{$normv}\vec v\right\rbrace\)", |
| 94 | + ); |
| 95 | +$mc3 -> makeLast("None of the above"); |
| 96 | + |
| 97 | +BEGIN_TEXT |
| 98 | +<p> |
| 99 | +Suppose \(\vec u\) and \(\vec v\) are vectors with \(\left\|\vec u\right\|=$normu\), \(\left\|\vec v\right\|=$normv\), and \(\vec u\cdot\vec v=$dotP\). |
| 100 | +</p> |
| 101 | + |
| 102 | +$BR |
| 103 | + |
| 104 | +\{ $mc1 -> print_q() \} |
| 105 | + |
| 106 | +$BR |
| 107 | + |
| 108 | +\{ $mc1 -> print_a() \} |
| 109 | + |
| 110 | +$BR |
| 111 | +$BR |
| 112 | + |
| 113 | +\{ $mc2 -> print_q() \} |
| 114 | + |
| 115 | +$BR |
| 116 | + |
| 117 | +\{ $mc2 -> print_a() \} |
| 118 | + |
| 119 | +$BR |
| 120 | +$BR |
| 121 | + |
| 122 | +\{ $mc3 -> print_q() \} |
| 123 | + |
| 124 | +$BR |
| 125 | + |
| 126 | +\{ $mc3 -> print_a() \} |
| 127 | + |
| 128 | + |
| 129 | + |
| 130 | +END_TEXT |
| 131 | +Context()->normalStrings; |
| 132 | + |
| 133 | +################################################## |
| 134 | +# Answers |
| 135 | + |
| 136 | +$showPartialCorrectAnswers = 0; |
| 137 | + |
| 138 | +install_problem_grader(~~&std_problem_grader); |
| 139 | + |
| 140 | +$showPartialCorrectAnswers = 0; |
| 141 | + |
| 142 | +ANS(checkbox_cmp($mc1->correct_ans())); |
| 143 | +ANS(checkbox_cmp($mc2->correct_ans())); |
| 144 | +ANS(checkbox_cmp($mc3->correct_ans())); |
| 145 | + |
| 146 | + |
| 147 | + |
| 148 | +ENDDOCUMENT(); |
0 commit comments