I'm dealing with a matrix containing very small numbers like 10^(-370). When I compute the eigensystem of my matrix, it takes too much time, though the matrix size is not large.

Can anyone explain why this happens and what I can do to improve performance?

  • $\begingroup$ If you would share your code attempts (hopefully is a well formatted way), we may quickly see the problem you are facing. $\endgroup$
    – rhermans
    Oct 21, 2014 at 19:39
  • 3
    $\begingroup$ These numbers are smaller then minimum possible machine numbers and the corresponding problem is called "machine underflow". N can't helps here. I believe that SetSystemOptions["CatchMachineUnderflow" -> False] will solve your problem. The closely related question is How to flush machine underflows to zero and prevent conversion to arbitrary precision?. $\endgroup$
    – ybeltukov
    Oct 21, 2014 at 19:43
  • $\begingroup$ Thank you so much ybeltukov. You have saved me. Thanks a bunch. $\endgroup$
    – Suro
    Oct 21, 2014 at 19:53


Browse other questions tagged or ask your own question.