title: Machine Epsilon in Python
body: <p>A manual that I am currently studying (I am a newbie) says:</p>
  
  <blockquote>
    <p>"Numbers which differ by less than machine epsilon are numerically the same"</p>
  </blockquote>
  
  <p>With Python, machine epsilon for float values can be obtained by typing</p>
  
  <pre><code>eps = numpy.finfo(float).eps
  </code></pre>
  
  <p>Now, If I check</p>
  
  <pre><code>1 + eps/10 != 1
  </code></pre>
  
  <p>I obtain False.</p>
  
  <p>But If I check</p>
  
  <pre><code>0.1 + eps/10 != 0.1
  </code></pre>
  
  <p>I obtain True.</p>
  
  <p>My latter logical expression turns to be False if I divide eps by 100.
  So, how does machine epsilon work? The Python documentation just says</p>
  
  <blockquote>
    <p>"The smallest representable positive number such that 1.0 + eps != 1.0. Type of eps is an appropriate floating point type."</p>
  </blockquote>
  
  <p>Thank you in advance.</p>