Representing a matrix as a product of two matrices in MATLAB
Show older comments
I have a 4x4 matrix of complex numbers, say
X = [0.4079 + 0.0000i 0.7532 + 0.0030i 0.9791 + 0.0272i 0.9335 - 0.0036i;
0.7532 - 0.0030i 1.2288 + 0.0000i 1.3074 + 0.0052i 0.9791 + 0.0272i;
0.9791 - 0.0272i 1.3074 - 0.0052i 1.2288 + 0.0000i 0.7532 + 0.0030i;
0.9335 + 0.0036i 0.9791 - 0.0272i 0.7532 - 0.0030i 0.4079 + 0.0000i]
I want to represent it as a product of a 4x1 & 1x4 vectors say x such that X = xx^H where H denotes hermitian transpose of x. does anyone have any hint/suggestion to solve this matrix decomposition problem? Any suggestion would be appreciated.
5 Comments
Kirby Fears
on 17 Nov 2015
Edited: Kirby Fears
on 17 Nov 2015
In your example, X is rank 4.
You cannot decompose a 4x4 matrix with full rank into one 4x1 matrix and one 1x4 matrix. If you could represent 16 pieces of information using only 8 pieces, then some of those 16 pieces are not informative.
the cyclist
on 17 Nov 2015
@Kirby, you are of course correct that this composition cannot be done for the general case of arbitrary 4x4 matrix.
However, it may be that he knows that the matrix X was created via a product of vectors, and he wants to decompose it.
Stefan Raab
on 18 Nov 2015
I think if you know that the matrix was built by X = x1 * x2^H, you can only find out the direction of the building vectors. The columns of X will be: [x1*x21 x1*x22 ... x1*x2n] so you know already the direction of x1 and if you simply assume x21 = 1, you can find out the other elements of x1 using the other columns of X: Find the scalar you have to multiply the following columns with to get column 1 and you get the element of x2.
rihab
on 18 Nov 2015
rihab
on 18 Nov 2015
Accepted Answer
More Answers (1)
Torsten
on 18 Nov 2015
Edited: Walter Roberson
on 18 Nov 2015
2 votes
In your case, X=U*Sigma*U^H.
Consequently, u1*sigma1*u1^H where u1 is the eigenvector corresponding to the largest eigenvalue sigma1, is the best rank-1 - approximation to X in the Frobenius norm.
Best wishes
Torsten.
2 Comments
Stefan Raab
on 18 Nov 2015
Hi Torsten, don't you mean singular value? ;)
Kind regards, Stefan
Torsten
on 19 Nov 2015
For Hermitian matrices, the sigma's are eigenvalues, too.
Best wishes
Torsten.
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!