I am trying to decompose a matrix T into the form u1*v*u2*v...v*u_n
, where v=F*H*F
is a given matrix, here F
is just the Discrete Fourier Transform matrix (a unitary complex matrix) and H
is unitary complex diagonal matrix. What I am trying to optimize for is u1,u2,...,un
(all of them are diagonal matrices), we can define arbitrarily how many matrices ui
we have, but the less of them we have, the better.
For example, for n=3, then we want to get to T=u1*v*u2*v*u3
I have tried first to solve it for n=3 and matrix dimensions of 3x3 (although I would later need to use it for 64x64 matrices). For this, I used polar decomposition such that T= U*P
, and then decompose P into a matrix of its eigenvalues and eigenvectors, and use them to construct the diagonal matrices u1
and u2
, and then u3
, but my results are not quite right.
I am not sure what methods or algorithms I could use, I really would appreciate your help on this matter. Thanks.