is.CNSD {CEGO} | R Documentation |
This function checks whether a symmetric matrix is Conditionally Negative Semi-Definite (CNSD). Note that this function does not check whether the matrix is actually symmetric.
is.CNSD(X, method = "alg1", tol = 1e-08)
X |
a symmetric matrix |
method |
a string, specifiying the method to be used. |
tol |
torelance value. Eigenvalues between Symmetric, CNSD matrices are, e.g., euclidean distance matrices, whiche are required to produce Positive Semi-Definite correlation or kernel matrices. Such matrices are used in models like Kriging or Support Vector Machines. |
boolean, which is TRUE if X is CNSD
Ikramov, K. and Savel'eva, N. Conditionally definite matrices, Journal of Mathematical Sciences, Kluwer Academic Publishers-Plenum Publishers, 2000, 98, 1-50
Glunt, W.; Hayden, T. L.; Hong, S. and Wells, J. An alternating projection algorithm for computing the nearest Euclidean distance matrix, SIAM Journal on Matrix Analysis and Applications, SIAM, 1990, 11, 589-600
# The following permutations will produce # a non-CNSD distance matrix with Insert distance # and a CNSD distance matrix with Hamming distance 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)) D <- distanceMatrix(x,distancePermutationInsert) is.CNSD(D,"alg1") is.CNSD(D,"alg2") is.CNSD(D,"eucl") D <- distanceMatrix(x,distancePermutationHamming) is.CNSD(D,"alg1") is.CNSD(D,"alg2") is.CNSD(D,"eucl")