Learn R Programming

CEGO (version 2.4.3)

is.PSD: Check for Positive Semi-Definiteness

Description

This function checks whether a symmetric matrix is Positive Semi-Definite (PSD). That means, it is determined whether all eigenvalues of the matrix are non-negative. Note that this function does not check whether the matrix is actually symmetric.

Usage

is.PSD(X, tol = 1e-08)

Value

boolean, which is TRUE if X is PSD

Arguments

X

a symmetric matrix

tol

torelance value. Eigenvalues between -tol and tol are assumed to be zero.

Symmetric, PSD matrices are, e.g., correlation or kernel matrices. Such matrices are used in models like Kriging or Support Vector regression.

See Also

is.CNSD, is.NSD

Examples

Run this code
# The following permutations will produce
# a non-PSD kernel matrix with Insert distance
# and a PSD distance matrix with Hamming distance
# (for the given theta value of 0.01)
x <- list(c(2,1,4,3),c(2,4,3,1),c(4,2,1,3),c(4,3,2,1),c(1,4,3,2))
K <- exp(-0.01*distanceMatrix(x,distancePermutationInsert))
is.PSD(K)
K <- exp(-0.01*distanceMatrix(x,distancePermutationHamming))
is.PSD(K)

Run the code above in your browser using DataLab