inst/Examples/triDiag2.R

triDiag2 <- function(diagonal, upper, lower,
                    nrow = length(diagonal), ncol = nrow) {
    value <- diag(diagonal, nrow = nrow, ncol = ncol)
    n <- min(nrow, ncol-1)
    if(n>0) {
        rseq <- 1:n
        value[cbind(rseq, rseq+1)] <- upper
    }
    n <- min(nrow-1, ncol)
    if(n > 0) {
        rseq <- 1:n
        value[cbind(rseq+1, rseq)] <- lower
    }
    value
}

Try the SoDA package in your browser

Any scripts or data that you put into this service are public.

SoDA documentation built on Oct. 28, 2020, 9:07 a.m.