Re: [Numpy-discussion] higher accuracy in diagonialzation

2014-10-27 Thread Daπid
On 27 October 2014 09:37, Sunghwan Choi  wrote:

> One of them is inaccurate or both two of them are inaccurate within that
> range. Which one is more accurate?


You can check it yourself using the eigenvectors. The cosine distance
between v and M.dot(v) will give you the error in the eigenvectors, and the
difference between ||lambda*v|| and ||M.dot(v)|| the error in the
eigenvalue. I would also check the condition numbers, maybe your matrix is
just not well conditioned. You would have to look at preconditioners.


/David.
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] higher accuracy in diagonialzation

2014-10-27 Thread Stefan van der Walt
On 2014-10-27 10:37:58, Sunghwan Choi  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
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] higher accuracy in diagonialzation

2014-10-27 Thread Sunghwan Choi
Dear all,

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.

 

Sunghwan Choi

Ph. D. candidator

Department of Chemistry

KAIST (South Korea)

 

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion