getConfig - given an nxn Euclidean distance matrix, produces a d-dimensional point configuration of size n via eigendecomposition

getConfig(D, d)

Arguments

D

an nxn Euclidean distance matrix

d

the dimension for the configuration

Value

Y

an nxd matrix containing the d-dimensional point configuration

Accuracy

the ratio of the sum of retained eigenvalues to the sum of all n eigenvalues obtained during decomposition

Details

Given a distance matrix D, transform to a semi-definite matrix S using the linear transformation \(\tau(D)\). Using S, compute the eigen-decomposition \(S = ULV'\), where L is a diagonal matrix containing the singular-values of S, and the columns of U contain the eigen-vectors. A point configuration X is then computed as:

$$X = US^{.5}$$

To compute a configuration in d dimensions, the first d eigenvalues of S are used.

Examples

set.seed(1337) D <- matrix(c(0,3,4,3,4,3, 3,0,1,NA,5,NA, 4,1,0,5,NA,5, 3,NA,5,0,1,NA, 4,5,NA,1,0,5, 3,NA,5,NA,5,0),byrow=TRUE, nrow=6) d <- 3 DStar <- dpf(D,d)$D getConfig(DStar,3)
#> $X #> [,1] [,2] [,3] #> [1,] -5.135640e-07 0.9009879 1.46957978 #> [2,] 2.122227e+00 -0.6863731 0.06370942 #> [3,] 2.829508e+00 -1.2090178 -0.41237683 #> [4,] -2.120510e+00 -0.6847331 0.05928362 #> [5,] -2.827222e+00 -1.2157403 -0.40825964 #> [6,] -4.002138e-03 2.8948764 -0.77193636 #> #> $Accuracy #> [1] 1 #>