<?xml version="1.0" encoding="UTF-8"?>
<!-- Project example, CC BY-SA 4.0. Uses matrix-checkers.py selected in Quarto. -->
<quiz>
  <question type="stack">
    <name>
      <text>Hermitian symmetry and positive definiteness separately</text>
    </name>
    <questionvariables>
      <text />
    </questionvariables>
    <questionsimplify>1</questionsimplify>
    <questiontext format="html">
      <text>&lt;p&gt;Give any real symmetric or complex Hermitian positive definite \(2\times2\) matrix. Use integers or exact fractions for real and imaginary parts; enter %i for \(i\).&lt;/p&gt;&lt;p&gt;Half the marks are for Hermitian symmetry and half for positivity of the quadratic form.&lt;/p&gt;&lt;p&gt;[[input:ansm]] [[validation:ansm]]&lt;/p&gt;&lt;p&gt;Hermitian symmetry: [[feedback:symmetry]]&lt;/p&gt;&lt;p&gt;Positivity: [[feedback:positivity]]&lt;/p&gt;</text>
    </questiontext>
    <generalfeedback format="html">
      <text>&lt;p&gt;The checker uses Sylvester’s criterion to test positivity with exact arithmetic. Full credit requires both Hermitian symmetry and positivity. For real entries, Hermitian symmetry means ordinary symmetry.&lt;/p&gt;</text>
    </generalfeedback>
    <defaultgrade>1</defaultgrade>
    <penalty>0.1</penalty>
    <input>
      <name>ansm</name>
      <type>matrix</type>
      <tans>matrix([1,0],[0,1])</tans>
      <strictsyntax>1</strictsyntax>
      <insertstars>0</insertstars>
      <forbidfloat>1</forbidfloat>
      <checkanswertype>1</checkanswertype>
      <mustverify>1</mustverify>
      <showvalidation>1</showvalidation>
    </input>
    <prt>
      <name>symmetry</name>
      <value>0.5</value>
      <autosimplify>1</autosimplify>
      <node>
        <truefeedback format="html">
          <text>&lt;p&gt;The matrix is Hermitian.&lt;/p&gt;</text>
        </truefeedback>
        <falsefeedback format="html">
          <text />
        </falsefeedback>
        <name>0</name>
        <answertest>PythonChecker</answertest>
        <sans>ansm</sans>
        <tans>true</tans>
        <testoptions>{"checker": "is_hermitian"}</testoptions>
        <truescoremode>=</truescoremode>
        <truescore>1</truescore>
        <truenextnode>-1</truenextnode>
        <trueanswernote>symmetry-T</trueanswernote>
        <falsescoremode>=</falsescoremode>
        <falsescore>0</falsescore>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>symmetry-F</falseanswernote>
      </node>
    </prt>
    <prt>
      <name>positivity</name>
      <value>0.5</value>
      <autosimplify>1</autosimplify>
      <node>
        <truefeedback format="html">
          <text>&lt;p&gt;The matrix is positive definite.&lt;/p&gt;</text>
        </truefeedback>
        <falsefeedback format="html">
          <text />
        </falsefeedback>
        <name>0</name>
        <answertest>PythonChecker</answertest>
        <sans>ansm</sans>
        <tans>true</tans>
        <testoptions>{"checker": "is_positive_definite"}</testoptions>
        <truescoremode>=</truescoremode>
        <truescore>1</truescore>
        <truenextnode>-1</truenextnode>
        <trueanswernote>positivity-T</trueanswernote>
        <falsescoremode>=</falsescoremode>
        <falsescore>0</falsescore>
        <falsenextnode>-1</falsenextnode>
        <falseanswernote>positivity-F</falseanswernote>
      </node>
    </prt>
    <qtest>
      <testcase>1</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([1,0],[0,1])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>symmetry-T</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>positivity-T</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>2</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([2,1],[1,2])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>symmetry-T</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>positivity-T</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>3</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([1/2,1/4],[1/4,1])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>symmetry-T</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>positivity-T</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>4</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([-1,0],[0,-1])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>symmetry-T</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>positivity-F</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>5</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([1,1],[1,1])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>symmetry-T</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>positivity-F</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>6</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([1,2],[0,1])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>symmetry-F</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>positivity-F</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>7</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([1,2],[2,1])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>symmetry-T</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>positivity-F</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>8</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([2,1],[0,2])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>symmetry-F</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>positivity-T</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>9</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([0,1],[0,0])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>symmetry-F</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>positivity-F</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>10</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([2,%i],[-%i,2])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>symmetry-T</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>positivity-T</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>11</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([1,%i],[%i,1])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>symmetry-F</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>positivity-T</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>12</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([1,2*%i],[-2*%i,1])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>symmetry-T</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>positivity-F</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>13</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([0,%i],[0,0])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>symmetry-F</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>0</expectedscore>
        <expectedpenalty>0.1</expectedpenalty>
        <expectedanswernote>positivity-F</expectedanswernote>
      </expected>
    </qtest>
    <qtest>
      <testcase>14</testcase>
      <testinput>
        <name>ansm</name>
        <value>matrix([1/2,%i/4],[-%i/4,1])</value>
      </testinput>
      <expected>
        <name>symmetry</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>symmetry-T</expectedanswernote>
      </expected>
      <expected>
        <name>positivity</name>
        <expectedscore>1</expectedscore>
        <expectedpenalty>0</expectedpenalty>
        <expectedanswernote>positivity-T</expectedanswernote>
      </expected>
    </qtest>
  </question>
</quiz>
