﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?application progid="SMath Studio Desktop" version="0.99.7030.1435"?>
<worksheet xmlns="http://smath.info/schemas/worksheet/1.0">
  <settings ppi="96">
    <identity>
      <id>dd63489a-78ad-4cc5-86f8-09b40e0e6e45</id>
      <revision>4</revision>
    </identity>
    <calculation>
      <precision>2</precision>
      <exponentialThreshold>5</exponentialThreshold>
      <trailingZeros>false</trailingZeros>
      <significantDigitsMode>false</significantDigitsMode>
      <roundingMode>0</roundingMode>
      <fractions>decimal</fractions>
    </calculation>
    <pageModel active="false" viewMode="2" printGrid="false" printAreas="true" simpleEqualsOnly="false" printBackgroundImages="true">
      <paper id="1" orientation="Portrait" width="850" height="1100" />
      <margins left="39" right="39" top="49" bottom="49" />
      <header alignment="Center" color="#a9a9a9">&amp;[DATE] &amp;[TIME] - &amp;[FILENAME]</header>
      <footer alignment="Center" color="#a9a9a9">&amp;[PAGENUM] / &amp;[COUNT]</footer>
      <backgrounds />
    </pageModel>
    <dependencies>
      <assembly name="SMath Studio Desktop" version="0.99.7030.1435" guid="a37cba83-b69c-4c71-9992-55ff666763bd" />
      <assembly name="Math Region" version="0.99.7030.1435" guid="02f1ab51-215b-466e-a74d-5d8b1cf85e8d" />
      <assembly name="SpecialFunctions" version="1.12.7030.1435" guid="2814e667-4e12-48b1-8d51-194e480eabc5" />
      <assembly name="TextRegion" version="1.11.7030.1435" guid="485d28c5-349a-48b6-93be-12a35a1c1e39" />
    </dependencies>
  </settings>
  <regions type="content">
    <region id="0" left="0" top="0" width="274" height="111" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
      <math>
        <description active="true" position="Top" lang="eng">
          <p>rand function as in Octave</p>
        </description>
        <input>
          <e type="operand">_m</e>
          <e type="operand">_n</e>
          <e type="function" args="2">rand</e>
          <e type="operand">i</e>
          <e type="operand">1</e>
          <e type="operand">_m</e>
          <e type="function" args="2">range</e>
          <e type="operand">j</e>
          <e type="operand">1</e>
          <e type="operand">_n</e>
          <e type="function" args="2">range</e>
          <e type="operand">a</e>
          <e type="operand">i</e>
          <e type="operand">j</e>
          <e type="function" args="3">el</e>
          <e type="operand">100</e>
          <e type="function" args="1">random</e>
          <e type="operator" args="2">:</e>
          <e type="function" args="3">for</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="function" args="3">line</e>
          <e type="function" args="3">for</e>
          <e type="operand">a</e>
          <e type="operand">100</e>
          <e type="operator" args="2">/</e>
          <e type="operand">2</e>
          <e type="operand">1</e>
          <e type="function" args="4">line</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="1" left="279" top="0" width="574" height="111" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
      <math decimalPlaces="4">
        <description active="true" position="Top" lang="eng">
          <p>randi function as in Octave</p>
        </description>
        <input>
          <e type="operand">_rang</e>
          <e type="operand">_m</e>
          <e type="operand">_n</e>
          <e type="function" args="3">randi</e>
          <e type="operand">i</e>
          <e type="operand">1</e>
          <e type="operand">_m</e>
          <e type="function" args="2">range</e>
          <e type="operand">j</e>
          <e type="operand">1</e>
          <e type="operand">_n</e>
          <e type="function" args="2">range</e>
          <e type="operand">a</e>
          <e type="operand">i</e>
          <e type="operand">j</e>
          <e type="function" args="3">el</e>
          <e type="operand">_rang</e>
          <e type="operand">1</e>
          <e type="function" args="2">el</e>
          <e type="operand">_rang</e>
          <e type="operand">2</e>
          <e type="function" args="2">el</e>
          <e type="operand">100</e>
          <e type="operator" args="2">*</e>
          <e type="operand">_rang</e>
          <e type="operand">1</e>
          <e type="function" args="2">el</e>
          <e type="operand">100</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">-</e>
          <e type="function" args="1">random</e>
          <e type="operand">100</e>
          <e type="operator" args="2">/</e>
          <e type="operand">0</e>
          <e type="function" args="2">round</e>
          <e type="operator" args="2">+</e>
          <e type="operator" args="2">:</e>
          <e type="function" args="3">for</e>
          <e type="function" args="3">for</e>
          <e type="operand">a</e>
          <e type="operand">2</e>
          <e type="operand">1</e>
          <e type="function" args="4">line</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="2" left="0" top="144" width="314" height="28" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
      <math>
        <description active="true" position="Top" lang="eng">
          <p>Echelon form - from Maxima</p>
        </description>
        <input>
          <e type="operand">_M</e>
          <e type="function" args="1">echelon</e>
          <e type="operand">temp</e>
          <e type="operand">_M</e>
          <e type="function" args="1">echelon</e>
          <e type="function" args="2">MaximaDefine</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="3" left="0" top="207" width="622" height="524" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
      <math optimize="2" decimalPlaces="4">
        <description active="true" position="Top" lang="eng">
          <p>RREF function - (from Maxima "echelon")</p>
        </description>
        <input>
          <e type="operand">_M</e>
          <e type="function" args="1">rref</e>
          <e type="operand">_eM</e>
          <e type="operand">_M</e>
          <e type="function" args="1">echelon</e>
          <e type="operator" args="2">:</e>
          <e type="operand">pivot</e>
          <e type="operand">0</e>
          <e type="operand">_M</e>
          <e type="function" args="1">cols</e>
          <e type="function" args="2">matrix</e>
          <e type="operator" args="2">:</e>
          <e type="operand">i</e>
          <e type="operand">1</e>
          <e type="operand">_eM</e>
          <e type="function" args="1">rows</e>
          <e type="function" args="2">range</e>
          <e type="operand">_eM</e>
          <e type="operand">i</e>
          <e type="function" args="2">row</e>
          <e type="operand">1</e>
          <e type="operand">_eM</e>
          <e type="function" args="1">cols</e>
          <e type="function" args="2">matrix</e>
          <e type="operator" args="2">≠</e>
          <e type="operand">pivot</e>
          <e type="operand">pivot</e>
          <e type="operand">_eM</e>
          <e type="operand">i</e>
          <e type="function" args="2">row</e>
          <e type="function" args="2">stack</e>
          <e type="function" args="1">eval</e>
          <e type="operator" args="2">:</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="function" args="3">line</e>
          <e type="operand">continue</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="function" args="3">line</e>
          <e type="function" args="3">if</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="function" args="3">line</e>
          <e type="function" args="3">for</e>
          <e type="operand">temp</e>
          <e type="operand">pivot</e>
          <e type="function" args="1">reverse</e>
          <e type="function" args="1">eval</e>
          <e type="operator" args="2">:</e>
          <e type="operand">i</e>
          <e type="operand">1</e>
          <e type="operand">temp</e>
          <e type="function" args="1">rows</e>
          <e type="function" args="2">range</e>
          <e type="operand">j</e>
          <e type="operand">1</e>
          <e type="operand">temp</e>
          <e type="function" args="1">cols</e>
          <e type="function" args="2">range</e>
          <e type="operand">temp</e>
          <e type="operand">i</e>
          <e type="operand">j</e>
          <e type="function" args="3">el</e>
          <e type="operand">0</e>
          <e type="operator" args="2">≠</e>
          <e type="operand">pos</e>
          <e type="operand">i</e>
          <e type="function" args="2">el</e>
          <e type="operand">j</e>
          <e type="operator" args="2">:</e>
          <e type="operand">break</e>
          <e type="operand">2</e>
          <e type="operand">1</e>
          <e type="function" args="4">line</e>
          <e type="operand">continue</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="function" args="3">line</e>
          <e type="function" args="3">if</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="function" args="3">line</e>
          <e type="function" args="3">for</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="function" args="3">line</e>
          <e type="function" args="3">for</e>
          <e type="operand">result_p</e>
          <e type="operand">temp</e>
          <e type="operand">1</e>
          <e type="function" args="2">row</e>
          <e type="operator" args="2">:</e>
          <e type="operand">i</e>
          <e type="operand">2</e>
          <e type="operand">temp</e>
          <e type="function" args="1">rows</e>
          <e type="function" args="2">range</e>
          <e type="operand">row_mod</e>
          <e type="operand">temp</e>
          <e type="operand">i</e>
          <e type="function" args="2">row</e>
          <e type="operator" args="2">:</e>
          <e type="operand">k</e>
          <e type="operand">1</e>
          <e type="operand">i</e>
          <e type="operand">1</e>
          <e type="operator" args="2">-</e>
          <e type="bracket">(</e>
          <e type="function" args="2">range</e>
          <e type="operand">sust_p</e>
          <e type="operand">temp</e>
          <e type="operand">i</e>
          <e type="function" args="2">row</e>
          <e type="operand">pos</e>
          <e type="operand">k</e>
          <e type="function" args="2">el</e>
          <e type="bracket">(</e>
          <e type="function" args="2">el</e>
          <e type="operand">result_p</e>
          <e type="operand">k</e>
          <e type="function" args="2">row</e>
          <e type="operator" args="2">*</e>
          <e type="operator" args="2">:</e>
          <e type="operand">row_mod</e>
          <e type="operand">row_mod</e>
          <e type="operand">sust_p</e>
          <e type="operator" args="2">-</e>
          <e type="operator" args="2">:</e>
          <e type="operand">2</e>
          <e type="operand">1</e>
          <e type="function" args="4">line</e>
          <e type="function" args="3">for</e>
          <e type="operand">result_p</e>
          <e type="operand">result_p</e>
          <e type="operand">row_mod</e>
          <e type="function" args="2">stack</e>
          <e type="function" args="1">eval</e>
          <e type="operator" args="2">:</e>
          <e type="operand">3</e>
          <e type="operand">1</e>
          <e type="function" args="5">line</e>
          <e type="function" args="3">for</e>
          <e type="operand">result_f</e>
          <e type="operand">result_p</e>
          <e type="function" args="1">reverse</e>
          <e type="function" args="1">eval</e>
          <e type="operand">_eM</e>
          <e type="function" args="1">rows</e>
          <e type="operand">temp</e>
          <e type="function" args="1">rows</e>
          <e type="operator" args="2">-</e>
          <e type="operand">_eM</e>
          <e type="function" args="1">cols</e>
          <e type="function" args="2">matrix</e>
          <e type="function" args="2">stack</e>
          <e type="operator" args="2">:</e>
          <e type="operand">8</e>
          <e type="operand">1</e>
          <e type="function" args="10">line</e>
          <e type="operator" args="2">:</e>
        </input>
      </math>
    </region>
    <region id="4" left="0" top="783" width="290" height="24" color="#ffffff" bgColor="#0080ff" fontSize="10">
      <text lang="eng">
        <p>SIMPLE TEST: RAND - ECHELON - RREF</p>
      </text>
    </region>
    <region id="5" left="0" top="828" width="273" height="99" border="true" color="#000000" bgColor="#ffff80" fontSize="10">
      <math>
        <input>
          <e type="operand">Matrix</e>
          <e type="operand">0</e>
          <e type="operand">1</e>
          <e type="operand">2</e>
          <e type="operand">1</e>
          <e type="function" args="4">mat</e>
          <e type="operand">5</e>
          <e type="operand">5</e>
          <e type="function" args="3">randi</e>
          <e type="operator" args="2">:</e>
        </input>
        <result action="numeric">
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="operand">0</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">1</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">5</e>
          <e type="operand">5</e>
          <e type="function" args="27">mat</e>
        </result>
      </math>
    </region>
    <region id="6" left="297" top="828" width="186" height="99" border="true" color="#000000" bgColor="#ffff80" fontSize="10">
      <math>
        <input>
          <e type="operand">Matrix</e>
          <e type="function" args="1">rref</e>
        </input>
        <result action="numeric">
          <e type="operand">1</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">1</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="operand">1</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">0</e>
          <e type="operand">5</e>
          <e type="operand">5</e>
          <e type="function" args="27">mat</e>
        </result>
      </math>
    </region>
  </regions>
</worksheet>