[SciPy-user] simpliest way to determine is matrix positive - definite?

Dominique Orban dominique.orban@gmail....
Mon Aug 27 16:21:51 CDT 2007


On 8/27/07, dmitrey <openopt@ukr.net> wrote:
>
> Yes, matrix is real and symmetric.
> However, I believed there is more simple way to determine to obtain the
> single bit of info than do Choleski factorization with O(n^3) operations.
> Ok, I will use the latter.
> D.


That's a difficult question from a numerical point of view. What will you do
if you find that the smallest eigenvalue is 1.0e-16? Is the matrix really
positive definite or is it positive semi-definite? Or worse, is it
indefinite with an eigenvalue equal to -1.0e-16, and numerical errors
occurred?

What you want may be a procedure to identify when a matrix is NOT positive
definite. For instance, if Cholesky fails, it would be the case. A cheaper
way might be to use a plain conjugate gradient iteration and stop if you
find that <p, A*p> <= 0. Or you could use any type of iterative method that
estimates the smallest eigenvalue...

Dominique
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/scipy-user/attachments/20070827/ba85be93/attachment.html 


More information about the SciPy-user mailing list