1

Can I rebuild a NxN matrix if I know its Covariance Matrix? If so, how would I go upon it? is there a Matlab function to do so?

Silvio
  • 11

1 Answers1

3

If $C$ is a covariance-matrix, then it is the product of some matrix $M$ with its transpose $M^t$ : $ C = M^t * M $ .
Now there are matrices whose transposes-product equals the identity matrix; namely any rotation matrix. Say $ T^t * T = I$ where $I$ is the identity and $T$ is some rotation-matrix.
Then $ C= M^t * M $ but also $ C = M^t * I * M = M^t * T^t * T * M = (T*M)^t * (T*M) = A^t * A$ where there are infinitely many $A$ -matrices, all rotations of each other.

Even more, $T^t$ can have as many columns as we like as long they are more than rows. So the space, spanned by the columns of $T^t$ is of arbitrary dimension.

In short: the decomposition of $C$ is non-unique; there are infinitely many solutions.

  • A follow-up question just came to my mind: the indeterminacy of $M$ allows to apply uniqueness-criteria. I'd like to know, whether the condition, that all rows in $M^t$ have their mean be zero, is sufficient for uniqueness? – Gottfried Helms May 09 '11 at 10:44
  • What if you ignore rotations and limit to $n$ columns? Is it unique then? – Mitch May 09 '11 at 16:18
  • If the number of columns N is the only restriction, then you have still infinitely many solutions (rotation is continuous). With the constraint of having zero as means? I doubt, that this is in generality possible. I think, you need some higher number than the columns in $M^t$ , say $m \gt N$. But if you have one solution with $m$ columns, you can scale it by some constant factor $c$ and then you can add the same matrix scaled by some factor $s$, where you only need consider that $c$ and $s$ are chosen to satisfy $c^2+s^2 = 1$ – Gottfried Helms May 09 '11 at 18:12