Fast monte-carlo algorithms for finding low-rank approximations | Synapse