[R] Efficient testing for +ve definiteness
Spencer Graves
spencer.graves at pdf.com
Thu Jul 14 05:22:48 CEST 2005
My preference is to test see if the smallest eigenvalue is less than
something like sqrt(.Machine$double.eps) times the largest. This may be
too conservative, but if the ratio of the smallest to the largest is
less than some small number like that, the inverse of such a real
symmetric matrix will have very large eigenvalue(s) in potentially
unstable directions. R may have other functions beside eigen that will
explicitly consider the symmetry of a matrix, but I'm not familiar with
them.
spencer graves
Makram Talih wrote:
> Dear R-users,
>
> Is there a preferred method for testing whether a real symmetric matrix is
> positive definite? [modulo machine rounding errors.]
>
> The obvious way of computing eigenvalues via "E <- eigen(A, symmetric=T,
> only.values=T)$values" and returning the result of "!any(E <= 0)" seems
> less efficient than going through the LU decomposition invoked in
> "determinant.matrix(A)" and checking the sign and (log) modulus of the
> determinant.
>
> I suppose this has to do with the underlying C routines. Any thoughts or
> anecdotes?
>
> Many Thanks,
>
> Makram Talih
>
> --
> Makram Talih, Ph.D.
> Assistant Professor
> Department of Mathematics and Statistics
> Hunter College of the City University of New York
> 695 Park Avenue, Room 905 HE
> New York, NY 10021
>
> Website: http://stat.hunter.cuny.edu/talih
> E-mail: makram.talih at hunter.cuny.edu
> Tel: 212-772-5308
> Fax: 212-772-4858
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
--
Spencer Graves, PhD
Senior Development Engineer
PDF Solutions, Inc.
333 West San Carlos Street Suite 700
San Jose, CA 95110, USA
spencer.graves at pdf.com
www.pdf.com <http://www.pdf.com>
Tel: 408-938-4420
Fax: 408-280-7915
More information about the R-help
mailing list