I am very new to linear algebra...
I construct a rectangular matrix A1 from some sampled data which is m x n where m > n
[U1, S1, V1] = svd(A1)
If I then construct a new matrix A2 (also m x n, m > n) using resampling for e.g. bootstrapping of the original data I can then calculate a new SVD
[U2, S2, V2] = svd(A2)
Because of this that I read:
"Note that the decomposition of the resampled matrix is not guaranteed to produce a comparable set of latent variables, because both permutation and bootstrap resampling could induce arbitrary axis rotation (i.e. a change in the order of the latent variables) and/or axis reflection (i.e. a sign change for the weights)"
...I believe I need to correct using rotation using the original as a target?
[~, Q] = rotatefactors(U2, 'Method', 'procrustes', 'Target', U1, 'Type', 'orthogonal')
I want to then rotate my U2 and V2 matrices (is this the right way?):
U2r = U2 * S2 * Q;
V2r = V2 * S2 * Q;
- however because the matrices A1 and A2 are not square, this fails in Matlab.
Finally, I want to calculate the new singular values S2r (is this necessary??) How do I scale them appropriately given that I have rotated U2 and V2?
Is this possible or have I completely misunderstood the process??
Thanks for any help, please bear in mind that I am a total beginner.