correctionDistanceMatrix {CEGO} R Documentation

## Correction of a Distance Matrix

### Description

Convert (possibly non-euclidean or non-metric) distance matrix with chosen approach so that it becomes a CNSD matrix. Optionally, the resulting matrix is enforced to have positive elements and zero diagonal, with the repair parameter. Essentially, this is a combination of functions correctionDefinite or correctionCNSD with repairConditionsDistanceMatrix.

### Usage

correctionDistanceMatrix(
mat,
type = "NSD",
method = "flip",
repair = TRUE,
tol = 1e-08
)


### Arguments

 mat symmetric distance matrix type string that specifies type of correction: "CNSD","NSD" to enforce CNSD or NSD matrices respectively. method string that specifies method for correction: spectrum clip "clip", spectrum flip "flip", nearest definite matrix "near", spectrum square"square", spectrum diffusion "diffusion", feature embedding "feature". repair boolean, whether or not to use condition repair, so that elements are positive, and diagonal is zero. tol torelance value. Eigenvalues between -tol and tol are assumed to be zero.

### Value

list with corrected distance matrix mat, isCNSD (boolean, whether original matrix was CNSD) and transformation matrix A.

### References

Martin Zaefferer and Thomas Bartz-Beielstein. (2016). Efficient Global Optimization with Indefinite Kernels. Parallel Problem Solving from Nature-PPSN XIV. Accepted, in press. Springer.

correctionDefinite,correctionCNSD,repairConditionsDistanceMatrix

### Examples

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) #matrix should not be CNSD
D <- correctionDistanceMatrix(D)\$mat
is.CNSD(D) #matrix should now be CNSD
D


[Package CEGO version 2.4.3 Index]