Skip to article frontmatterSkip to article content

The Randomized SVD (RSVD) produces an approximation

A^=QQTA,Q=orth(AΩ),\widehat{\vec{A}} = \vec{Q}\vec{Q}^\T \vec{A}, \quad \vec{Q} = \Call{orth}(\vec{A}\vec{\Omega}),

where ΩGaussian(n,b)\vec{\Omega}\sim \operatorname{Gaussian}(n,b). Ideally Q\vec{Q} is well-aligned with the dominant subspace of A\vec{A}. However, the approximation can be poor if the singular values of A\vec{A} decay slowly or if the spectral gap is small.

One way to mitigate this, is to damp down the tail of A\vec{A} relative to the leading singular values. In particular, observe that if A\vec{A} as (thin) SVD A=UΣVT\vec{A} = \vec{U}\vec{\Sigma}\vec{V}^\T,

(AAT)qA=UΣ2q+1VT.(\vec{A}\vec{A}^\T)^q\vec{A} = \vec{U} \vec{\Sigma}^{2q+1} \vec{V}^\T.

The singular values of (AAT)qA(\vec{A}\vec{A}^\T)^q\vec{A} are the singular values of A\vec{A} raised to the power 2q+12q+1. Thus, as illustrated in Figure 5.1 the small singular values become smaller relative to the large ones.

Four subplots showing singular value decay for different powers q, demonstrating how small singular values are damped relative to large ones as q increases

Figure 5.1:Observe that the singular values tail of (AAT)qA(\vec{A}\vec{A}^\T)^q\vec{A} is damped substantially relative to that of A\vec{A}.

This leads to the Randomized Subspace Iteration (RSI) approximation:

A^=QQTA,Q=orth((AAT)qAΩ).\widehat{\vec{A}} = \vec{Q}\vec{Q}^\T \vec{A}, \quad \vec{Q} = \Call{orth}((\vec{A}\vec{A}^\T)^q\vec{A}\vec{\Omega}).

Observe that (AAT)qAΩ(\vec{A}\vec{A}^\T)^q\vec{A}\vec{\Omega} can be computed by sequential products with A\vec{A} and AT\vec{A}^\T. In particular, we never need to form the (potentially large) matrix AAT\vec{A}\vec{A}^\T explicitly.

Note that for numerical stability reasons, it is often recommended to re-orthogonalize Y\vec{Y} after each multiplication by A\vec{A} or AT\vec{A}^\T.