CUR Decomposition as described in Mining of Massive Datasets, page 406.
Currently it only works with Numpy arrays but the point of CUR is to keep C and R sparse if M is sparse so I plan to add support for Scipy Sparse arrays.
M = np.array([ ... ]) r = int from cur import cur_decomposition C, U, R = cur_decomposition(M, r)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.