Warning message in calculating eigenvalues or in calculating the von Neumann entropy

The intrinsic operations ``eig'', ``eigRDO'', ``eigPT'', ``SvN'', and
``SvNRDO'' sometimes output the following message:
Warning: could not find eigenvalues correctly.
This means that silqcs could not achieve a sufficient accuracy in calculating eigenvalues. Internally, a sort of Hermitian Jacobi method is used for the eigenvalue calculation in silqcs. This method is known to be successful for any Hermitian matrix. However, some elements of a matrix kept in a computer memory may have small numerical errors owing to rounding off or owing to the low precision of standard C++ functions. Thus, it is possible to lose an accuracy in calculating eigenvalues. In this case, a user has to use another external calculator such as Octave to calculate eigenvalues or the von Neumann entropy. (Note that even a famous mathematical calculator may fail in keeping a sufficient accuracy in calculating eigenvalues for such a matrix that causes the above warning message.)
root
2004-11-07