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