Revision 9e5b9bb8a0564f8bf629df4ca5e96d3078f50363 authored by jmc on 14 July 2008, 00:00:00 UTC, committed by Gabor Csardi on 14 July 2008, 00:00:00 UTC
1 parent a3b36b1
triDiag3.R
triDiag3 <- function(diagonal, upper, lower,
nrow = length(diagonal), ncol = nrow) {
value <- matrix(0, nrow = nrow, ncol = ncol)
r <-max(nrow, ncol)
if(r > 1) {
nu <- min(nrow, ncol-1)
nl <- min(nrow-1, ncol)
index <- outer((0:nu)*(nrow+1), 0:2, `+`)
value[index[1:min(nrow, ncol), 2]] <- diagonal
if(nu > 0)
value[index[-1, 1]] <- upper
if(nl > 0)
value[index[1:nl, 3]] <- lower
}
value
}
Computing file changes ...