Finding structure with randomness: Probabilistic algorithms for constructing approximate matrix decompositions

Singular value decomposition