3
$\begingroup$

I hope I don't ask something with an obvious answer, but my search so far gave me no satisfactory one.

I have a real symmetric positive definite $n \times n$ matrix $\bf{J}$ of which I have computed the SVD. Since the matrix is symmetric the left and right singular vectors are identical and in this way I can obtain a "symmetric" decomposition by absorbing the square root the singular values in the singular vectors, so that I get a decomposition like

$\bf{J}=\bar{\bf{U}} \bar{\bf{U}}^T$

Begin of Edit: Sorry the bar is misleading. For the a symmetric matrix the SVD of $\bf J$ of is

$\bf J =U\Sigma U^T$

since the right and left singular vectors. Because for my specific case it is more convenient I absorb the square root of the singular values into the singular vector, which is indicated by the bar.

$U_{nm}=\sqrt{\sigma_m}U_{nm}$

End of Edit

Additionally I compute several real symmetric $k\times k$ matrices $\bf{M}$ as

$\bf{M}=\bf{W}\bf{J}\bf{W}^{T}$

For which I also need this kind of decomposition:

$\bf{M} = \bar{V}\bar{V}^{T}$

At the moment I calculate it as:

${\bar{V}}_{kn} = \sum_{m} W_{k,m} \bar{U}_{mn}$

This avoids to do an expensive SVD all the time (otherwise I have to do it several 1000 times), but the drawback is that in my case $k<<n$ and therefore the size of the matrices $\bf{\bar{V}}$ is much larger than needed.

Is there an easy way to get the SVD of $\bf{M}$? or a similar decomposition? (It is not really important to get the true SVD, but to get a similar decomposition). I realized that the Cholesky decomposition might also be used, but here is the same problem to reuse the already decomposed matrix.

$\endgroup$
  • $\begingroup$ Could you provide some further details on how you compute $J$ (by eventually editing the answer)? I couldn't understand how you obtained that $\bar U \bar U^T$. I guess the bar means conjugate though $\endgroup$ – Eugenio Nov 15 '16 at 10:20
1
$\begingroup$

I am not sure if this is exactly what you are looking for, but if $J$ is symmetric it is simpler to use the eigendecomposition:

$J=QDQ^T $

Where $Q$ is rothogonal, i.e. $Q^{-1}=Q^T$, and $ D$ is diagonal. This is holds for all symmetric matrices. Then:

$M = WQDQ^TW^T = (WQ)D(WQ)^T$

This way you would only have to perform a single matrix product and its transpose and you reuse all matrices from $J$ eigendecomposition.

$\endgroup$
  • $\begingroup$ Thank you for your answer, but it is not directly what I'm looking for. In principle this is the way I use at the moment. But maybe your answer helps me to make my question clearer. I can reuse the singular vectors by a simple matrix multiply as you pointed out, but since the new matrix $M$ is much smaller I obtain "fake singular vectors" which are much larger than the true singular vectors. It is not really important for me to get the exact singular vectors, but to get a decomposition of the same structure with low dimensional vectors. $\endgroup$ – g.smith Nov 16 '16 at 8:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.