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?
Can I rebuild a NxN matrix if I know its Covariance Matrix?
1
$\begingroup$
linear-algebra
matrices
-
0See also http://math.stackexchange.com/questions/2543/square-root-of-symmetric-matrix-and-transposition – 2011-05-09
1 Answers
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.
-
0If 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$ – 2011-05-09