SVD of row matrix using QR

265 Views Asked by At

I want to reach to full SVD in faster way. Since this involves hardware implementation, rather than designing things from scratch I want to use already available blocks:

a) QR decomposition b) Matrix multiplication and basic manipulations

Since QR do have role of householder there should an optimal way to reach it.

1

There are 1 best solutions below

6
On BEST ANSWER

Hints: Let $A=QR$. Then $AA^T = RR^T$ and $A^TA=R^TR$. Now the singular vectors are given by eigenvectors of these matrices. Also singular values are given by eigenvalues of any of them (both will have same eigenvalues). There are really efficient methods to find eigenvalues from the cholesky decomposition of a matrix (since $AA^T=RR^T$ where $R$ is uppertriangular, you essentially have cholesky decomposition). Once you find the eigenvalues, it boils to solving linear system of equations. Say that you have a linear system of the form $CC^Tx=b$ for any given triangular matrix $C$ and vector $b$. Now you can solve the linear system $Cy=b$ first. Since $C$ is triangular, this can be done very fast by back-substitution. Then you can solve for the system $C^Tx=y$.