[R] Matrix package: band matrix

Thomas Lumley tlumley at u.washington.edu
Fri Feb 20 14:49:10 CET 2009

On Fri, 20 Feb 2009, David Winsemius wrote:

> If you can tolerate the subdiagonal and superdiagonal zero elements being 
> populated, then perhaps this is useful. If there is a subset function as you 
> suggest, then perhaps further reduction would be feasible from this as a 
> starting point. At least it would reduce the size from 10^5 x 10^5 to 10^5 x 3:
> library(Matrix)
> xxx <- data.frame(x1 =1:5, y1=c(0,6,0,7,0) )
> M= Matrix(0,5,5)
> M[row(M) == col(M)] <- xxx$x1
> M[row(M)-1 == col(M)] <- xxx$y1[1:(length(xxx$y1)-1)]
> M[row(M) == col(M)-1] <- xxx$y1[1:(length(xxx$y1)-1)]

That provides the right structure, but row(M) and col(M) are dense matrices with 10^10 elements, so it still uses too much memory.


Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle

More information about the R-help mailing list