https://github.com/cran/pracma
Revision 26e049d70b4a1c237987e260cba68f6a9413736c authored by Hans W. Borchers on 09 April 2019, 04:10:07 UTC, committed by cran-robot on 09 April 2019, 04:10:07 UTC
1 parent bf07673
Raw File
Tip revision: 26e049d70b4a1c237987e260cba68f6a9413736c authored by Hans W. Borchers on 09 April 2019, 04:10:07 UTC
version 2.2.5
Tip revision: 26e049d
isposdef.R
isposdef <- function(A, psd = FALSE, tol = 1e-10) {
    if (nrow(A) != ncol(A)) {
        warning("Matrix 'A' is not quadratic.\n", .call = FALSE)
        a <- FALSE
    } else if (any(abs(A - t(A)) > tol)) {
        warning("Matrix 'A' is not symmetric.\n", .call = FALSE)
        a <- FALSE
    } else {
        e <- try(chol(A, pivot = psd), silent = TRUE)
        if (class(e) == "try-error") {
            a <- FALSE
        } else {
            a <- TRUE
        }
    }
    return(a)
}
back to top