﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?application progid="SMath Studio Desktop" version="0.98.6179.21440"?>
<regions>
  <settings>
    <identity>
      <id>dd63489a-78ad-4cc5-86f8-09b40e0e6e45</id>
      <revision>16</revision>
    </identity>
    <calculation>
      <precision>15</precision>
      <exponentialThreshold>12</exponentialThreshold>
      <fractions>decimal</fractions>
    </calculation>
    <pageModel active="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.98.6179.21440" guid="a37cba83-b69c-4c71-9992-55ff666763bd" />
      <assembly name="Math Region" version="0.98.6179.21440" guid="02f1ab51-215b-466e-a74d-5d8b1cf85e8d" />
      <assembly name="Special Functions" version="1.11.6179.21442" guid="2814e667-4e12-48b1-8d51-194e480eabc5" />
    </dependencies>
    <mode debug="true" />
  </settings>
  <region id="0" left="0" top="0" width="676" height="106" 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" preserve="true" args="2">range</e>
        <e type="operand">j</e>
        <e type="operand">1</e>
        <e type="operand">_n</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">a</e>
        <e type="operand">i</e>
        <e type="operand">j</e>
        <e type="function" preserve="true" args="3">el</e>
        <e type="operand">_rang</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">_rang</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" 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" preserve="true" args="2">el</e>
        <e type="operand">100</e>
        <e type="operator" args="2">*</e>
        <e type="operator" args="2">-</e>
        <e type="function" preserve="true" args="1">random</e>
        <e type="operand">100</e>
        <e type="operator" args="2">/</e>
        <e type="operand">0</e>
        <e type="function" preserve="true" args="2">round</e>
        <e type="operator" args="2">+</e>
        <e type="operator" args="2">:</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">a</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="1" left="0" top="153" width="583" height="708" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
    <math decimalPlaces="2">
      <description active="true" position="Top" lang="eng">
        <p>Echelon form of a given matrix</p>
      </description>
      <input>
        <e type="operand">_M</e>
        <e type="function" args="1">echelon</e>
        <e type="operand">ech</e>
        <e type="operand">_M</e>
        <e type="operator" args="2">:</e>
        <e type="operand">temp_p</e>
        <e type="operand">1</e>
        <e type="operator" args="2">:</e>
        <e type="operand">gen</e>
        <e type="operand">1</e>
        <e type="operand">_M</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="operand">_M</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="operand">1</e>
        <e type="operand">2</e>
        <e type="function" preserve="true" args="4">mat</e>
        <e type="function" preserve="true" args="1">min</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">isZero</e>
        <e type="operand">0</e>
        <e type="operand">ech</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" args="2">matrix</e>
        <e type="operator" args="2">:</e>
        <e type="operand">isNotZero</e>
        <e type="operand">0</e>
        <e type="operand">ech</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" args="2">matrix</e>
        <e type="operator" args="2">:</e>
        <e type="operand">mod_rows</e>
        <e type="operand">0</e>
        <e type="operand">ech</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" args="2">matrix</e>
        <e type="operator" args="2">:</e>
        <e type="operand">i</e>
        <e type="operand">1</e>
        <e type="operand">ech</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">ech</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">row</e>
        <e type="operand">gen</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">0</e>
        <e type="operator" args="2">≡</e>
        <e type="bracket">(</e>
        <e type="operand">i</e>
        <e type="operand">temp_p</e>
        <e type="operator" args="2">≥</e>
        <e type="bracket">(</e>
        <e type="operator" args="2">&amp;</e>
        <e type="operand">isZero</e>
        <e type="operand">isZero</e>
        <e type="operand">ech</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">row</e>
        <e type="function" preserve="true" args="2">stack</e>
        <e type="operator" args="2">:</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="operand">isNotZero</e>
        <e type="operand">isNotZero</e>
        <e type="operand">ech</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">row</e>
        <e type="function" preserve="true" args="2">stack</e>
        <e type="operator" args="2">:</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">ech</e>
        <e type="operand">isNotZero</e>
        <e type="operand">isZero</e>
        <e type="function" preserve="true" args="2">stack</e>
        <e type="operator" args="2">:</e>
        <e type="operand">pivot</e>
        <e type="operand">temp_p</e>
        <e type="operator" args="2">:</e>
        <e type="operand">pivot_row</e>
        <e type="operand">ech</e>
        <e type="operand">pivot</e>
        <e type="function" preserve="true" args="2">row</e>
        <e type="operator" args="2">:</e>
        <e type="operand">pivot_row</e>
        <e type="operand">gen</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">0</e>
        <e type="operator" args="2">≠</e>
        <e type="operand">pivot_row</e>
        <e type="operand">pivot_row</e>
        <e type="operand">pivot_row</e>
        <e type="operand">gen</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operator" args="2">/</e>
        <e type="operator" args="2">:</e>
        <e type="operand">temp_p</e>
        <e type="operand">pivot</e>
        <e type="operand">1</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" preserve="true" args="4">line</e>
        <e type="operand">continue</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">j</e>
        <e type="operand">pivot</e>
        <e type="operand">1</e>
        <e type="operator" args="2">+</e>
        <e type="bracket">(</e>
        <e type="operand">ech</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">gen</e>
        <e type="operand">ech</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="operator" args="2">≡</e>
        <e type="bracket">(</e>
        <e type="operand">pivot</e>
        <e type="operand">1</e>
        <e type="operator" args="2">&gt;</e>
        <e type="bracket">(</e>
        <e type="operator" args="2">&amp;</e>
        <e type="operand">continue</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="operand">to_stack</e>
        <e type="operand">ech</e>
        <e type="operand">j</e>
        <e type="function" preserve="true" args="2">row</e>
        <e type="operand">ech</e>
        <e type="operand">j</e>
        <e type="function" preserve="true" args="2">row</e>
        <e type="operand">gen</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">pivot_row</e>
        <e type="operator" args="2">*</e>
        <e type="operator" args="2">-</e>
        <e type="operator" args="2">:</e>
        <e type="operand">mod_rows</e>
        <e type="operand">mod_rows</e>
        <e type="operand">to_stack</e>
        <e type="function" preserve="true" args="2">stack</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operator" args="2">:</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">line</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">M1</e>
        <e type="operand">pivot</e>
        <e type="operand">1</e>
        <e type="operator" args="2">&gt;</e>
        <e type="operand">ech</e>
        <e type="operand">1</e>
        <e type="operand">pivot</e>
        <e type="operand">1</e>
        <e type="operator" args="2">-</e>
        <e type="operand">1</e>
        <e type="operand">ech</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" args="5">submatrix</e>
        <e type="operand">0</e>
        <e type="operand">ech</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" args="2">matrix</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operator" args="2">:</e>
        <e type="operand">M2</e>
        <e type="operand">pivot_row</e>
        <e type="operator" args="2">:</e>
        <e type="operand">M3</e>
        <e type="operand">mod_rows</e>
        <e type="operator" args="2">:</e>
        <e type="operand">ech</e>
        <e type="operand">M1</e>
        <e type="operand">M2</e>
        <e type="operand">M3</e>
        <e type="function" preserve="true" args="3">stack</e>
        <e type="operator" args="2">:</e>
        <e type="operand">13</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="15">line</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">ech</e>
        <e type="operand">4</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="6">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="2" left="513" top="153" width="738" height="508" border="true" color="#000000" bgColor="#c0c0c0" fontSize="10">
    <math optimize="2" decimalPlaces="4">
      <description active="true" position="Top" lang="eng">
        <p>Row Reduced Echelon Form (RREF)</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" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" 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" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">_eM</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">row</e>
        <e type="operand">1</e>
        <e type="operand">_eM</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" 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" preserve="true" args="2">row</e>
        <e type="function" preserve="true" args="2">stack</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operator" args="2">:</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="operand">continue</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">temp</e>
        <e type="operand">pivot</e>
        <e type="function" preserve="true" args="1">reverse</e>
        <e type="function" preserve="true" 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" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">j</e>
        <e type="operand">1</e>
        <e type="operand">temp</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">temp</e>
        <e type="operand">i</e>
        <e type="operand">j</e>
        <e type="function" preserve="true" 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" preserve="true" 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" preserve="true" args="4">line</e>
        <e type="operand">continue</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="function" preserve="true" args="3">if</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">1</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="3">line</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">result_p</e>
        <e type="operand">temp</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" 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" preserve="true" args="1">rows</e>
        <e type="function" preserve="true" args="2">range</e>
        <e type="operand">row_mod</e>
        <e type="operand">temp</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" 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" preserve="true" args="2">range</e>
        <e type="operand">sust_p</e>
        <e type="operand">temp</e>
        <e type="operand">i</e>
        <e type="function" preserve="true" args="2">row</e>
        <e type="operand">pos</e>
        <e type="operand">k</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="bracket">(</e>
        <e type="function" preserve="true" args="2">el</e>
        <e type="operand">result_p</e>
        <e type="operand">k</e>
        <e type="function" preserve="true" 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" preserve="true" args="4">line</e>
        <e type="function" preserve="true" 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" preserve="true" args="2">stack</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operator" args="2">:</e>
        <e type="operand">3</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="5">line</e>
        <e type="function" preserve="true" args="3">for</e>
        <e type="operand">result_f</e>
        <e type="operand">result_p</e>
        <e type="function" preserve="true" args="1">reverse</e>
        <e type="function" preserve="true" args="1">eval</e>
        <e type="operand">_eM</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="operand">temp</e>
        <e type="function" preserve="true" args="1">rows</e>
        <e type="operator" args="2">-</e>
        <e type="operand">_eM</e>
        <e type="function" preserve="true" args="1">cols</e>
        <e type="function" preserve="true" args="2">matrix</e>
        <e type="function" preserve="true" args="2">stack</e>
        <e type="operator" args="2">:</e>
        <e type="operand">8</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="10">line</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="3" left="135" top="909" width="179" height="47" border="true" color="#000000" bgColor="#ffff80" fontSize="10">
    <math optimize="2" evaluate="false" decimalPlaces="2">
      <description active="true" position="Top" lang="eng">
        <p>Random matrix</p>
      </description>
      <input>
        <e type="operand">A</e>
        <e type="operand">5</e>
        <e type="operator" args="1">-</e>
        <e type="operand">5</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="function" preserve="true" args="4">mat</e>
        <e type="operand">10</e>
        <e type="operand">10</e>
        <e type="function" args="3">randi</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="4" left="387" top="936" width="105" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="2">
      <input>
        <e type="operand">tic</e>
        <e type="operand">0</e>
        <e type="function" preserve="true" args="1">time</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="5" left="414" top="972" width="128" height="63" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">A</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="operator" args="1">-</e>
        <e type="operand">3</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="operand">4</e>
        <e type="operand">0</e>
        <e type="operand">1</e>
        <e type="operator" args="1">-</e>
        <e type="operand">2</e>
        <e type="operand">6</e>
        <e type="operand">1</e>
        <e type="operator" args="1">-</e>
        <e type="operand">5</e>
        <e type="operand">3</e>
        <e type="operand">4</e>
        <e type="function" preserve="true" args="14">mat</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="6" left="576" top="972" width="186" height="63" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">A</e>
        <e type="function" args="1">rref</e>
        <e type="operand">1</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">5.667</e>
        <e type="operand">0</e>
        <e type="operand">1</e>
        <e type="operand">0</e>
        <e type="operand">1.667</e>
        <e type="operator" args="1">-</e>
        <e type="operand">0</e>
        <e type="operand">0</e>
        <e type="operand">1</e>
        <e type="operand">3.667</e>
        <e type="operator" args="1">-</e>
        <e type="operand">3</e>
        <e type="operand">4</e>
        <e type="function" preserve="true" args="14">mat</e>
        <e type="operator" args="2">≡</e>
      </input>
    </math>
  </region>
  <region id="7" left="135" top="1062" width="103" height="63" color="#000000" bgColor="#ffffff" fontSize="10">
    <math>
      <input>
        <e type="operand">A</e>
        <e type="operand">2</e>
        <e type="operand">1</e>
        <e type="operator" args="1">-</e>
        <e type="operand">3</e>
        <e type="operand">1</e>
        <e type="operand">4</e>
        <e type="operand">0</e>
        <e type="operand">2</e>
        <e type="operand">6</e>
        <e type="operand">1</e>
        <e type="operator" args="1">-</e>
        <e type="operand">3</e>
        <e type="operand">3</e>
        <e type="function" preserve="true" args="11">mat</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="8" left="135" top="1134" width="98" height="26" border="true" color="#000000" bgColor="#80ffff" fontSize="10">
    <math error="88" decimalPlaces="2">
      <description active="true" position="Top" lang="eng">
        <p>Row reduced echelon form</p>
      </description>
      <input>
        <e type="operand">A</e>
        <e type="function" args="1">rref</e>
      </input>
      <result action="numeric">
        <e type="operand">#</e>
      </result>
    </math>
  </region>
  <region id="9" left="351" top="1161" width="105" height="26" color="#000000" bgColor="#ffffff" fontSize="10">
    <math decimalPlaces="2">
      <input>
        <e type="operand">toc</e>
        <e type="operand">0</e>
        <e type="function" preserve="true" args="1">time</e>
        <e type="operator" args="2">:</e>
      </input>
    </math>
  </region>
  <region id="10" left="396" top="1215" width="147" height="24" border="true" color="#ffffff" bgColor="#ff0000" fontSize="10">
    <math decimalPlaces="2">
      <input>
        <e type="operand">toc</e>
        <e type="operand">tic</e>
        <e type="operator" args="2">-</e>
      </input>
      <result action="numeric">
        <e type="operand">0.12</e>
        <e type="operand" style="unit">s</e>
        <e type="operator" args="2">*</e>
      </result>
    </math>
  </region>
</regions>