[Numpy-discussion] higher accuracy in diagonialzation

Stefan van der Walt stefan at sun.ac.za
Mon Oct 27 05:15:01 EDT 2014


On 2014-10-27 10:37:58, Sunghwan Choi <sunghwanchoi91 at gmail.com> wrote:
> I am now diagonalizing a 200-by-200 symmetric matrix. But the two methods,
> scipy.linalg.eigh and numpy.linalg.eigh give significantly different result.
> The results from two methods are different within 10^-4 order. One of them
> is inaccurate or both two of them are inaccurate within that range. Which
> one is more accurate? or Are there any ways to control the accuracy for
> diagonalization? If you have some idea please let me know.

My first (naive) attempt would be to set up a matrix, M, in sympy and
then use M.diagonalize() to find the symbolic expression of the
solution.  You can then do the same numerically to see which method
yields a result closest to the desired answer.

Stéfan



More information about the NumPy-Discussion mailing list