<?xml version="1.0" encoding="UTF-8"?>
<quiz>
  <question type="stack">
    <name>
      <text>Diagonalizable proof comprehension</text>
    </name>
    <questiontext format="html">
      <text><![CDATA[<p>Fill in the blanks in this proof, and answer the questions at the end.
<div class="proof">
<p><b>Theorem:</b>
Let \(A\) be an \(n\times n\) matrix.  Then \(A\) is diagonalizable if and only if \(A\) has \(n\) linearly independent eigenvectors.
</p>
<p><b>Proof</b>
Suppose that \(A\) is diagonalizable then, by definition, it is similar to the diagonal matrix \(D\) and so \(D=\) [[input:ans1]] [[validation:ans1]] for some matrix \(P\).
<br/>
Equivalently \(AP=\) [[input:ans2]] [[validation:ans2]].
</p>
Let the columns of \(P\) be \({@p1@}, {@p2@}, \cdots, {@pn@}\) and the corresponding diagonal entries of \(D\) be \(\lambda_1,\lambda_1,\cdots,\lambda_n\).  Then
</p>
\[ A[{@p1@}\ {@p2@}\ \cdots\ {@pn@}] = [{@p1@}, {@p2@} \cdots {@pn@}] 
\begin{pmatrix}  
\lambda_1 & 0                 & \cdots & 0 \\
0                & \lambda_2  & \cdots & 0 \\
\vdots        & \vdots          & \ddots  & \vdots \\
0               &  0                 & \cdots  & \lambda_n
\end{pmatrix}
\] 
Multiplying we have
\[ [A{@p1@}\  A{@p2@}\ \cdots A{@pn@}] = [\lambda_1{@p1@}\ \lambda_2{@p2@}\ \cdots\ \lambda_n{@pn@}]\] 
where the right hand side is just the column representation of the product.

Equating columns we have for each \(k\) that  
[[input:ans3]] [[validation:ans3]].

This proves that the [[input:answ1]][[validation:answ1]] of \(P\) are the  [[input:answ2]][[validation:answ2]] of \(A\) whose corresponding  [[input:answ3]][[validation:answ3]] are the  [[input:answ4]][[validation:answ4]] of \(D\) in the same order.  Since \(P\) is invertible, its columns are linearly independent by the Fundamental Theorem of Invertible matrices, proving that \(A\) has \(n\) linearly independent eigenvectors.
</p>
</div>
</p>

<p>
<ol>
<li>The above proof is correct: [[input:an1]] [[validation:an1]]  If you think the proof is not correct then complete the following sentence, (otherwise leave blank.)  <br/>
This proof is not correct because [[input:an2]] [[validation:an2]]
</li>
<li>If \(A\) has \(n\) different eigenvalues then \(A\) is diagonalizable? [[input:an3]] [[validation:an3]]
</ol>
</p>]]></text>
    </questiontext>
    <generalfeedback format="moodle_auto_format">
      <text>\(A{@pk@}=\lambda_k {@pk@}\).</text>
    </generalfeedback>
    <defaultgrade>10</defaultgrade>
    <penalty>0.1</penalty>
    <hidden>0</hidden>
    <idnumber/>
    <stackversion>
      <text>2023010400</text>
    </stackversion>
    <questionvariables>
      <text><![CDATA[texput(p1,"\\mathbf{p}_1");
texput(p2,"\\mathbf{p}_2");
texput(p3,"\\mathbf{p}_3");
texput(pn,"\\mathbf{p}_n");
texput(pk,"\\mathbf{p}_k");
texput(lambdak,"\\lambda_k");
ta1:P^(-1)*A*P;
ta2:P*D;
ta3:A*pk=lambdak*pk;
ws:["column vectors","rows", "pivot rows","eigenvectors","eigenvalues", "principal values", "diagonal entries", "orthogonal vectors", "normals"];
ws1:[true,false,false,false,false,false,false,false,false];
wsl1:zip_with("[", ws,ws1);
wsa1:first(mcq_correct(wsl1));
ws2:[false,false,false,true,false,false,false,false,false];
wsl2:zip_with("[", ws,ws2);
wsa2:first(mcq_correct(wsl2));
ws3:[false,false,false,false,true,false,false,false,false];
wsl3:zip_with("[", ws,ws3);
wsa3:first(mcq_correct(wsl3));
ws4:[false,false,false,false,false,false,true,false,false];
wsl4:zip_with("[", ws,ws4);
wsa4:first(mcq_correct(wsl4));

tb1:false;
/* General converse is missing. */
tballow2:["the converse is missing","missing converse", "half the proof is missing", "the reverse direction is missing", "you must prove the converse as well", "only proved one way", "the converse has not been proved","it doesn't prove the double implication","they have only proved it in one direction","show the converse","The proof should be and if and only if proof","there is no converse in the proof", "there is no converse", "it only proves one direction of the if and only if statement", "did not proof the converse of the theorem"];
tballow2:append(tballow2, ["didn't prove that A  having n linearly independent eigenvectors means that A is diagonalizable"]);
tbforbid2:["the converse is not true"];
tb3:true;]]></text>
    </questionvariables>
    <specificfeedback format="html">
      <text><![CDATA[<ul>
<li>Equations are \(D=P^{-1}AP\) and \(AP=PD\): [[feedback:prt1]]</li>
<li>Equating columns we have for each \(k\) that {@ta3@}: [[feedback:prt2]]</li>
<li>"This proves that ..." [[feedback:prt3]]</li>
<li>Is this proof correct? [[feedback:prt4]]</li>
<li>If \(A\) has \(n\) different eigenvalues then \(A\) is diagonalizable? [[feedback:prt5]]</li>
</ul>]]></text>
    </specificfeedback>
    <questionnote format="moodle_auto_format">
      <text/>
    </questionnote>
    <questiondescription format="moodle_auto_format">
      <text>This question is distributed as part of the STACK source code as an example. This is licenced as Creative Commons Attribution-ShareAlike 4.0 International License.</text>
    </questiondescription>
    <questionsimplify>0</questionsimplify>
    <assumepositive>0</assumepositive>
    <assumereal>0</assumereal>
    <prtcorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:green;"><i class="fa fa-check"></i></span> Correct answer, well done.]]></text>
    </prtcorrect>
    <prtpartiallycorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:orange;"><i class="fa fa-adjust"></i></span> Your answer is partially correct.]]></text>
    </prtpartiallycorrect>
    <prtincorrect format="html">
      <text><![CDATA[<span style="font-size: 1.5em; color:red;"><i class="fa fa-times"></i></span> Incorrect answer.]]></text>
    </prtincorrect>
    <decimals>.</decimals>
    <scientificnotation>*10</scientificnotation>
    <multiplicationsign>none</multiplicationsign>
    <sqrtsign>1</sqrtsign>
    <complexno>i</complexno>
    <inversetrig>cos-1</inversetrig>
    <logicsymbol>lang</logicsymbol>
    <matrixparens>[</matrixparens>
    <isbroken>0</isbroken>
    <variantsselectionseed/>
    <input>
      <name>an1</name>
      <type>boolean</type>
      <tans>tb1</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <syntaxhint/>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords/>
      <allowwords/>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>0</mustverify>
      <showvalidation>0</showvalidation>
      <options/>
    </input>
    <input>
      <name>an2</name>
      <type>string</type>
      <tans>first(tballow2)</tans>
      <boxsize>50</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <syntaxhint/>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords/>
      <allowwords/>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>0</mustverify>
      <showvalidation>0</showvalidation>
      <options>allowempty</options>
    </input>
    <input>
      <name>an3</name>
      <type>boolean</type>
      <tans>tb3</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <syntaxhint/>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords/>
      <allowwords/>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>0</mustverify>
      <showvalidation>0</showvalidation>
      <options/>
    </input>
    <input>
      <name>ans1</name>
      <type>algebraic</type>
      <tans>ta1</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>5</insertstars>
      <syntaxhint/>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords/>
      <allowwords/>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>1</mustverify>
      <showvalidation>3</showvalidation>
      <options/>
    </input>
    <input>
      <name>ans2</name>
      <type>algebraic</type>
      <tans>ta2</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>5</insertstars>
      <syntaxhint/>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords/>
      <allowwords/>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>1</mustverify>
      <showvalidation>3</showvalidation>
      <options/>
    </input>
    <input>
      <name>ans3</name>
      <type>algebraic</type>
      <tans>ta3</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>4</insertstars>
      <syntaxhint/>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords/>
      <allowwords>lambdak</allowwords>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>1</mustverify>
      <showvalidation>3</showvalidation>
      <options>consolidatesubscripts</options>
    </input>
    <input>
      <name>answ1</name>
      <type>dropdown</type>
      <tans>wsl1</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <syntaxhint/>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords/>
      <allowwords/>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>0</mustverify>
      <showvalidation>0</showvalidation>
      <options/>
    </input>
    <input>
      <name>answ2</name>
      <type>dropdown</type>
      <tans>wsl2</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <syntaxhint/>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords/>
      <allowwords/>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>0</mustverify>
      <showvalidation>0</showvalidation>
      <options/>
    </input>
    <input>
      <name>answ3</name>
      <type>dropdown</type>
      <tans>wsl3</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <syntaxhint/>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords/>
      <allowwords/>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>0</mustverify>
      <showvalidation>0</showvalidation>
      <options/>
    </input>
    <input>
      <name>answ4</name>
      <type>dropdown</type>
      <tans>wsl4</tans>
      <boxsize>15</boxsize>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <syntaxhint/>
      <syntaxattribute>0</syntaxattribute>
      <forbidwords/>
      <allowwords/>
      <forbidfloat>1</forbidfloat>
      <requirelowestterms>0</requirelowestterms>
      <checkanswertype>0</checkanswertype>
      <mustverify>0</mustverify>
      <showvalidation>0</showvalidation>
      <options/>
    </input>
    <prt>
      <name>prt1</name>
      <value>2.0000000</value>
      <autosimplify>0</autosimplify>
      <feedbackstyle>1</feedbackstyle>
      <feedbackvariables>
        <text/>
      </feedbackvariables>
      <node>
        <name>0</name>
        <description/>
        <answertest>CasEqual</answertest>
        <sans>ans1</sans>
        <tans>ta1</tans>
        <testoptions/>
        <quiet>0</quiet>
        <truescoremode>=</truescoremode>
        <truescore>0.5</truescore>
        <truepenalty/>
        <truenextnode>2</truenextnode>
        <trueanswernote>prt1-1-T</trueanswernote>
        <truefeedback format="html">
          <text/>
        </truefeedback>
        <falsescoremode>=</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty/>
        <falsenextnode>1</falsenextnode>
        <falseanswernote>prt1-1-F</falseanswernote>
        <falsefeedback format="html">
          <text/>
        </falsefeedback>
      </node>
      <node>
        <name>1</name>
        <description/>
        <answertest>CasEqual</answertest>
        <sans>ans1</sans>
        <tans>P*A*P^(-1)</tans>
        <testoptions/>
        <quiet>0</quiet>
        <truescoremode>=</truescoremode>
        <truescore>0.25</truescore>
        <truepenalty/>
        <truenextnode>2</truenextnode>
        <trueanswernote>prt1-2-T</trueanswernote>
        <truefeedback format="html">
          <text>Almost, we actually want {@ta1@} not {@ans1@}.</text>
        </truefeedback>
        <falsescoremode>-</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty/>
        <falsenextnode>2</falsenextnode>
        <falseanswernote>prt1-2-F</falseanswernote>
        <falsefeedback format="html">
          <text/>
        </falsefeedback>
      </node>
      <node>
        <name>2</name>
        <description/>
        <answertest>CasEqual</answertest>
        <sans>ans2</sans>
        <tans>ta2</tans>
        <testoptions/>
        <quiet>0</quiet>
        <truescoremode>+</truescoremode>
        <truescore>0.5</truescore>
        <truepenalty/>
        <truenextnode>-1</truenextnode>
        <trueanswernote>prt1-3-T</trueanswernote>
        <truefeedback format="html">
          <text/>
        </truefeedback>
        <falsescoremode>-</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty/>
        <falsenextnode>3</falsenextnode>
        <falseanswernote>prt1-3-F</falseanswernote>
        <falsefeedback format="html">
          <text/>
        </falsefeedback>
      </node>
      <node>
        <name>3</name>
        <description/>
        <answertest>CasEqual</answertest>
        <sans>ans2</sans>
        <tans>D*P</tans>
        <testoptions/>
        <quiet>0</quiet>
        <truescoremode>+</truescoremode>
        <truescore>0.25</truescore>
        <truepenalty/>
        <truenextnode>-1</truenextnode>
        <trueanswernote>prt1-4-T</trueanswernote>
        <truefeedback format="html">
          <text>Almost, we actually want {@ta2@} not {@ans2@}.</text>
        </truefeedback>
        <falsescoremode>-</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty/>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>prt1-4-F</falseanswernote>
        <falsefeedback format="html">
          <text/>
        </falsefeedback>
      </node>
    </prt>
    <prt>
      <name>prt2</name>
      <value>1.0000000</value>
      <autosimplify>1</autosimplify>
      <feedbackstyle>3</feedbackstyle>
      <feedbackvariables>
        <text>sa3:at(ans3,[p_k=pk,lambda_k=lambdak]);</text>
      </feedbackvariables>
      <node>
        <name>0</name>
        <description/>
        <answertest>AlgEquiv</answertest>
        <sans>sa3</sans>
        <tans>ta3</tans>
        <testoptions/>
        <quiet>0</quiet>
        <truescoremode>=</truescoremode>
        <truescore>1</truescore>
        <truepenalty/>
        <truenextnode>-1</truenextnode>
        <trueanswernote>prt2-1-T</trueanswernote>
        <truefeedback format="html">
          <text/>
        </truefeedback>
        <falsescoremode>=</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty/>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>prt2-1-F</falseanswernote>
        <falsefeedback format="html">
          <text/>
        </falsefeedback>
      </node>
    </prt>
    <prt>
      <name>prt3</name>
      <value>3.0000000</value>
      <autosimplify>1</autosimplify>
      <feedbackstyle>3</feedbackstyle>
      <feedbackvariables>
        <text>sa1:[answ1,answ2,answ3,answ4];
sa2:[wsa1,wsa2,wsa3,wsa4];</text>
      </feedbackvariables>
      <node>
        <name>0</name>
        <description/>
        <answertest>AlgEquiv</answertest>
        <sans>sa1</sans>
        <tans>sa2</tans>
        <testoptions/>
        <quiet>0</quiet>
        <truescoremode>=</truescoremode>
        <truescore>1</truescore>
        <truepenalty/>
        <truenextnode>-1</truenextnode>
        <trueanswernote>prt3-1-T</trueanswernote>
        <truefeedback format="html">
          <text/>
        </truefeedback>
        <falsescoremode>=</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty/>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>prt3-1-F</falseanswernote>
        <falsefeedback format="html">
          <text><![CDATA[The sentence should read
"This proves that the column vectors of \(P\) are the eigenvalues of \(A\) whose corresponding  eigenvalues are the diagonal entries of \(D\) in the same order."]]></text>
        </falsefeedback>
      </node>
    </prt>
    <prt>
      <name>prt4</name>
      <value>3.0000000</value>
      <autosimplify>1</autosimplify>
      <feedbackstyle>2</feedbackstyle>
      <feedbackvariables>
        <text/>
      </feedbackvariables>
      <node>
        <name>0</name>
        <description/>
        <answertest>AlgEquiv</answertest>
        <sans>an1</sans>
        <tans>tb1</tans>
        <testoptions/>
        <quiet>0</quiet>
        <truescoremode>=</truescoremode>
        <truescore>0.33</truescore>
        <truepenalty/>
        <truenextnode>1</truenextnode>
        <trueanswernote>prt4-1-T</trueanswernote>
        <truefeedback format="html">
          <text/>
        </truefeedback>
        <falsescoremode>=</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty/>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>prt4-1-F</falseanswernote>
        <falsefeedback format="html">
          <text>The proof is not correct!</text>
        </falsefeedback>
      </node>
      <node>
        <name>1</name>
        <description/>
        <answertest>StringSloppy</answertest>
        <sans>an2</sans>
        <tans><![CDATA[""]]></tans>
        <testoptions/>
        <quiet>0</quiet>
        <truescoremode>=</truescoremode>
        <truescore>0</truescore>
        <truepenalty/>
        <truenextnode>-1</truenextnode>
        <trueanswernote>prt4-2-T</trueanswernote>
        <truefeedback format="html">
          <text/>
        </truefeedback>
        <falsescoremode>+</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty/>
        <falsenextnode>2</falsenextnode>
        <falseanswernote>prt4-2-F</falseanswernote>
        <falsefeedback format="html">
          <text/>
        </falsefeedback>
      </node>
      <node>
        <name>2</name>
        <description/>
        <answertest>Levenshtein</answertest>
        <sans>an2</sans>
        <tans>[tballow2,tbforbid2]</tans>
        <testoptions>0.6</testoptions>
        <quiet>0</quiet>
        <truescoremode>+</truescoremode>
        <truescore>0.67</truescore>
        <truepenalty/>
        <truenextnode>-1</truenextnode>
        <trueanswernote>prt4-3-T</trueanswernote>
        <truefeedback format="html">
          <text/>
        </truefeedback>
        <falsescoremode>-</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty/>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>prt4-3-F</falseanswernote>
        <falsefeedback format="html">
          <text/>
        </falsefeedback>
      </node>
    </prt>
    <prt>
      <name>prt5</name>
      <value>1.0000000</value>
      <autosimplify>1</autosimplify>
      <feedbackstyle>2</feedbackstyle>
      <feedbackvariables>
        <text/>
      </feedbackvariables>
      <node>
        <name>0</name>
        <description/>
        <answertest>AlgEquiv</answertest>
        <sans>an3</sans>
        <tans>tb3</tans>
        <testoptions/>
        <quiet>0</quiet>
        <truescoremode>=</truescoremode>
        <truescore>1</truescore>
        <truepenalty/>
        <truenextnode>-1</truenextnode>
        <trueanswernote>prt5-1-T</trueanswernote>
        <truefeedback format="html">
          <text/>
        </truefeedback>
        <falsescoremode>=</falsescoremode>
        <falsescore>0</falsescore>
        <falsepenalty/>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>prt5-1-F</falseanswernote>
        <falsefeedback format="html">
          <text/>
        </falsefeedback>
      </node>
    </prt>
    <qtest>
      <testcase>1</testcase>
      <description/>
      <testinput>
        <name>an1</name>
        <value>tb1</value>
      </testinput>
      <testinput>
        <name>an2</name>
        <value>first(tballow2)</value>
      </testinput>
      <testinput>
        <name>an3</name>
        <value>tb3</value>
      </testinput>
      <testinput>
        <name>ans1</name>
        <value>ta1</value>
      </testinput>
      <testinput>
        <name>ans2</name>
        <value>ta2</value>
      </testinput>
      <testinput>
        <name>ans3</name>
        <value>ta3</value>
      </testinput>
      <testinput>
        <name>answ1</name>
        <value>first(mcq_correct(wsl1))</value>
      </testinput>
      <testinput>
        <name>answ2</name>
        <value>first(mcq_correct(wsl2))</value>
      </testinput>
      <testinput>
        <name>answ3</name>
        <value>first(mcq_correct(wsl3))</value>
      </testinput>
      <testinput>
        <name>answ4</name>
        <value>first(mcq_correct(wsl4))</value>
      </testinput>
      <expected>
        <name>prt1</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt1-3-T</expectedanswernote>
      </expected>
      <expected>
        <name>prt2</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt2-1-T</expectedanswernote>
      </expected>
      <expected>
        <name>prt3</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt3-1-T</expectedanswernote>
      </expected>
      <expected>
        <name>prt4</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt4-3-T</expectedanswernote>
      </expected>
      <expected>
        <name>prt5</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt5-1-T</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>2</testcase>
      <description/>
      <testinput>
        <name>an1</name>
        <value>false</value>
      </testinput>
      <testinput>
        <name>an2</name>
        <value><![CDATA["converse missing"]]></value>
      </testinput>
      <testinput>
        <name>an3</name>
        <value>false</value>
      </testinput>
      <testinput>
        <name>ans1</name>
        <value>P*A*P^-1</value>
      </testinput>
      <testinput>
        <name>ans2</name>
        <value>D*P</value>
      </testinput>
      <testinput>
        <name>ans3</name>
        <value>A*p_k = lambda_k*p_k</value>
      </testinput>
      <testinput>
        <name>answ1</name>
        <value/>
      </testinput>
      <testinput>
        <name>answ2</name>
        <value/>
      </testinput>
      <testinput>
        <name>answ3</name>
        <value/>
      </testinput>
      <testinput>
        <name>answ4</name>
        <value/>
      </testinput>
      <expected>
        <name>prt1</name>
        <expectedscore>0.5000000</expectedscore>
        <expectedpenalty>0.1000000</expectedpenalty>
        <expectedanswernote>prt1-4-T</expectedanswernote>
      </expected>
      <expected>
        <name>prt2</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt2-1-T</expectedanswernote>
      </expected>
      <expected>
        <name>prt3</name>
        <expectedscore/>
        <expectedpenalty/>
        <expectedanswernote>NULL</expectedanswernote>
      </expected>
      <expected>
        <name>prt4</name>
        <expectedscore>1.0000000</expectedscore>
        <expectedpenalty>0.0000000</expectedpenalty>
        <expectedanswernote>prt4-3-T</expectedanswernote>
      </expected>
      <expected>
        <name>prt5</name>
        <expectedscore>0.0000000</expectedscore>
        <expectedpenalty>0.1000000</expectedpenalty>
        <expectedanswernote>prt5-1-F</expectedanswernote>
      </expected>
    </qtest>
  </question>
</quiz>
