Finding Structure with Randomness: Probabilistic Algorithms for Constructing Approximate Matrix Decompositions | Synapse