my first question here, and I am completely new to the game. I am an engineer, so pls don't hold it against me. I will go straight to the point.
Suppose I have a dataset of complex numbers (for ex, a 3000 times 8 matrix of complex numbers), on which I am going to perform some calculations.
I have an orthonormal basis, arranged in an 8 by 8 complex matrix.
For each one of the 3000 row vectors in the dataset, I calculate its coordinates wth respect to the orthonormal basis. I then preserve the n, with n<8, strongest (one may say:highest) coordinates. I reconstruct a new vector by multiplying the preserved coordinates by their associated basis vectors. I then calculate the distance between the original row vector and the reconstructed one, by means of some norm (for ex, the Frobenius norm or the euclidean norm).
Is there a way to find the orthonormal basis that provides the lowest average (average meaning that I perform this operation for all the 3000 row vectors and then I average the distance) distance? I specified that I calculate the distance by means of the Frobenius or Euclidean norm....but if there is a more suitable norm, be it...it is well accepted.
I played a bit with the problem, and if the data are real, the solution seems to be given by the matrix U, with [U,S,V]=svd(data'*data), that is the singular value decomposition of the correlation matrix. But with complex data I failed to find a soultion.
Thank you very much for your help.