<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Frederico,</p>
    <p>Rouding stuff is not a simple issue, but it's clear that your are
      not doing the computations in the same order, which could explain
      the difference. Here is a simpler example showing that the result
      depends on the order in which computations are done:<br>
    </p>
    <p>--> x=rand(10,1,"normal");<br>
      <br>
      --> sum([1;x])-sum([x;1])<br>
       ans  =<br>
      <br>
        -2.220D-16</p>
    <p>Floating point addition is NOT associative. See e.g.
      <a class="moz-txt-link-freetext" href="https://en.wikipedia.org/wiki/Round-off_error">https://en.wikipedia.org/wiki/Round-off_error</a><br>
    </p>
    <p>S.<br>
    </p>
    <div class="moz-cite-prefix">Le 25/04/2022 à 10:00, Federico Miyara
      a écrit :<br>
    </div>
    <blockquote type="cite"
      cite="mid:90a17a5d-1b04-6671-aaca-ea9dc4844384@fceia.unr.edu.ar">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <br>
      <font face="Courier New">Dear All,<br>
        <br>
        Here I have the following script, where I compute the same thing
        using two iteration methods:<br>
      </font><br>
      <pre style="font-family:Monospaced;font-style:normal;font-size:18.0;"><span style="color:rgb(0,0,0);">alfa</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">rand</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">10</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">Rpr</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">rand</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">R</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">rand</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">Z</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">rand</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">10</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">200</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span> 

<span style="color:rgb(0,0,0);">G</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">zeros</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(188,143,143);">200</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">i</span><span style="color:rgb(92,92,92);">=</span><span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">200</span>
   <span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">0</span><span style="color:rgb(0,0,0);">;</span>
   <span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">0</span><span style="color:rgb(0,0,0);">;</span>
   <span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">k</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">10</span>
      <span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">Rpr</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">/</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">Z</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">i</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">R</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>  
      <span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">Rpr</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">/</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">Z</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(0,0,0);">i</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">R</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
   <span style="color:rgb(160,32,240);">end</span>
   <span style="color:rgb(0,0,0);">G</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">i</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">A</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">/</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">B</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">end</span>

<span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">for</span> <span style="color:rgb(0,0,0);">k</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(188,143,143);">1</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(188,143,143);">10</span>
   <span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">Rpr</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">./</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">Z</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">R</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>  
   <span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">B</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">Rpr</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">./</span> <span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">Z</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(0,0,0);">,</span><span style="color:rgb(255,170,0);">:</span><span style="color:rgb(74,85,219);">)</span> <span style="color:rgb(92,92,92);">+</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(188,143,143);">1</span> <span style="color:rgb(92,92,92);">-</span> <span style="color:rgb(0,0,0);">alfa</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">k</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(92,92,92);">*</span><span style="color:rgb(0,0,0);">R</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(0,0,0);">;</span>
<span style="color:rgb(160,32,240);">end</span>
<span style="color:rgb(0,0,0);">G1</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(0,0,0);">A</span> <span style="color:rgb(92,92,92);">./</span> <span style="color:rgb(0,0,0);">B</span><span style="color:rgb(0,0,0);">;</span>

<span style="color:rgb(74,85,219);">[</span><span style="color:rgb(0,0,0);">M</span><span style="color:rgb(0,0,0);">,</span> <span style="color:rgb(0,0,0);">ind</span><span style="color:rgb(74,85,219);">]</span> <span style="color:rgb(92,92,92);">=</span> <span style="color:rgb(50,185,185);">max</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(50,185,185);">abs</span><span style="color:rgb(74,85,219);">(</span><span style="color:rgb(0,0,0);">G</span><span style="color:rgb(92,92,92);"> - </span><span style="color:rgb(0,0,0);">G1</span><span style="color:rgb(74,85,219);">)</span><span style="color:rgb(74,85,219);">)

</span></pre>
      <font face="Courier New">However, the last line shows that there
        are differences between both methods. They are tiny (near %eps),
        but I can't find nor imagine which is the reason.<br>
        <br>
        NOTE: I kept the original formulas as in the script where the
        problem arised but changed the data. When I tried to use a
        simpler formula there was no difference.<br>
        <br>
        Any idea?<br>
        <br>
        Regards,<br>
        <br>
        Federico Miyara<br>
      </font><font face="Courier New"> </font><span
        style="color:rgb(74,85,219);"></span>
      <div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
        <table style="border-top: 1px solid #D3D4DE;">
          <tbody>
            <tr>
              <td style="width: 55px; padding-top: 18px;"><a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient"
                  target="_blank" moz-do-not-send="true"><img
src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif"
                    alt="" style="width: 46px; height: 29px;"
                    moz-do-not-send="true" width="46" height="29"></a></td>
              <td style="width: 470px; padding-top: 17px; color:
                #41424e; font-size: 13px; font-family: Arial, Helvetica,
                sans-serif; line-height: 18px;">Libre de virus. <a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient"
                  target="_blank" style="color: #4453ea;"
                  moz-do-not-send="true">www.avast.com</a> </td>
            </tr>
          </tbody>
        </table>
        <a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1"
          height="1" moz-do-not-send="true"> </a></div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@lists.scilab.org">users@lists.scilab.org</a>
<a class="moz-txt-link-freetext" href="http://lists.scilab.org/mailman/listinfo/users">http://lists.scilab.org/mailman/listinfo/users</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
<a class="moz-txt-link-freetext" href="http://www.utc.fr/~mottelet">http://www.utc.fr/~mottelet</a>
</pre>
  </body>
</html>