R: Test Positive Definiteness of a List of Square Matrices
is.pd
R Documentation
Test Positive Definiteness of a List of Square Matrices
Description
It tests the positive definiteness of a square matrix or a
list of square matrices. It returns TRUE if the matrix is
positive definite. It returns FALSE if the matrix is either
non-positive definite or not symmetric. Variables with NA in the diagonals will be removed
before testing. It returns NA when there are missing correlations even after deleting
the missing variables.
Whether the input matrix is a correlation or a
covariance matrix. It is ignored when check.asyCov=FALSE.
tol
Relative tolerance of positiveness of smallest eigenvalue compared
to largest eigenvalue. The matrix is considered positive definite if the
ratio of the smallest eigenvalue to the largest eigenvalue is larger than
tol. See nearPD
Value
If the input is a matrix, it returns TRUE, FALSE
or NA. If the input is a list of matrices, it returns
a list of TRUE, FALSE or NA.
Author(s)
Mike W.-L. Cheung <mikewlcheung@nus.edu.sg>
Examples
A <- diag(1,3)
is.pd(A)
# TRUE
B <- matrix(c(1,2,2,1), ncol=2)
is.pd(B)
# FALSE
is.pd(list(A, B))
# TRUE FALSE
C <- A
C[2,1] <- C[1,2] <- NA
is.pd(C)
# NA