I know there are packages in R to store sparse matrices efficiently. Is there also a way to store a low-rank matrix efficiently? For example:
A <- matrix(rnorm(1e6), nrow=1e5, ncol=1e1)
B <- A %*% t(A)
Now, B
is too large to store in memory, but it is low in rank. Is there any way to construct and store B
in an efficient way, such that some basic read methods (rowSums
, colSums
, etc) are performed on the fly, in order to trade for cpu or memory?