Knowing the SVD of $\mathbb{C}^{m*n} \ni A = U_A\Sigma_AV_A$ and $\mathbb{C}^{n*s} \ni B = U_B\Sigma_BV_B$, is there any way to speed up the calculation of the SVD of $AB = U_{AB}\Sigma_{AB}V_{AB}$?

I tried starting with $AB(AB)^* = U_{AB}\Sigma_{AB}^2U_{AB}^* \text{but also} = U_A\Sigma_AV_AU_B\Sigma_B^2U_B^*V_A^*\Sigma_AU_A^*$ but I can't find a simple assignement for $U_{AB}, \Sigma_{AB}, V_{AB}$ such that this is true.

Is there a way to speed up the decomposition?


1 Answer 1


We have \begin{align} \Omega = \Sigma_AV_AU_B\Sigma_B &&AB = U_A\Omega V_B \end{align}

Only submatrix $\bar{\Omega}$ formed by first $k$ rows and first $l$ columns of $\Omega$ will contain nonzero elements, where $k$ is the rank of $\Sigma_A$ and $l$ is the rank of $\Sigma_B$.

If $\bar{\Omega}$ is smaller matrix than $AB$, then one can compute SVD of $\bar{\Omega}$, and then construct the SVD factorization of $AB$. Unfortunately, the matrix $\bar{\Omega}$ must be formed explicitly.

If $\bar{\Omega}$ and $AB$ have similar size, then knowing the SVD factorizations of $A$ and $B$ will not help you to factorize $AB$.

  • $\begingroup$ I'm confused by this answer. What is $k,l$? They are not mentioned in the OP $\endgroup$
    – a06e
    Commented Dec 2, 2023 at 15:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .