Fast and memory efficient methods for truncated singular value decomposition and principal components analysis of large sparse and dense matrices.