How can I derive euclidean distance matrix from gram-schmidt matrix?

2.2k Views Asked by At

This is my first post, sorry for my naiveness..

I know a basic equation that relates Gram-schmidt matrix and Euclidean distance matrix:

$XX'=-0.5*(I-J/n)*D*(I-J/n)'$

Where $X$ is centered data (is $d \times n$), $I$ is identity matrix, $J$ is a matrix filled with ones (1), $n$ is the number of columns in $X$, and $D$ is the distance matrix (with dimensions $n \times n$).

My question is:

How can I derive Euclidean distance matrix $D$ from this equation? I would like something like:

$D=$ (something ¿?)

For example, I can see that:

$D=-2*inv((I-J/n))*XX'*inv((I-J/n)'$

But $(I-J/n)$ is a singular matrix. I am still interested in some approximation.

Thanks a lot!!

Mark

1

There are 1 best solutions below

1
On

The solution to $A.X.B = Y$ in a least-squares sense is $$ X = A^+.Y.B^+ + W - A^+.A.W.B.B^+ $$ where $W$ is arbitrary and $A^+$ denotes the pseudo-inverse of $A$.

In your problem, $A=B$ equals the centering matrix (see http://en.wikipedia.org/wiki/Centering_matrix). You are correct, it is a singular matrix, but it has some very useful properties: $$\eqalign{ C^+ &= C \cr C^2 &= C \cr C' &= C \cr }$$ So solving for $D$ yields $$ D = -2(C.X.X'.C) + W - C.W.C $$