https://github.com/cran/SoDA
Revision 1c016a1d9d1dc7690f7c256204f737661d261cb0 authored by jmc on 20 September 2007, 00:00:00 UTC, committed by Gabor Csardi on 20 September 2007, 00:00:00 UTC
0 parent
Tip revision: 1c016a1d9d1dc7690f7c256204f737661d261cb0 authored by jmc on 20 September 2007, 00:00:00 UTC
version 0.96
version 0.96
Tip revision: 1c016a1
triDiagonal.R
## extra triDiag functions
triDiag2S <- function(diagonal, upper, lower, r = length(diagonal)) {
value <- diag(diagonal, r)
if(r > 1) {
rseq <- 1:(r-1)
index <- cbind(rseq+1, rseq)
value[index] <- lower
index <- cbind(rseq, rseq+1)
value[index] <- upper
}
value
}
triDiag3S <- function(diagonal, upper, lower,
r = length(diagonal)) {
value <- matrix(0, r, r)
if(r > 0) {
r1 <- r-1
index <- outer((0:r1)*(r+1), 0:2, "+")
value[index[,2]] <- diagonal
value[index[-1, 1]] <- upper
value[index[-r, 3]] <- lower
}
value
}
Computing file changes ...