Skip to content
Prev 132639 / 398502 Next

Diagonal matrix with off diagonal elements

Jonas Malmros wrote:
You could combine rbind, diag and cbind:
rbind(rep(0,3),cbind(diag(2),rep(0,2)))
rbind(rep(0,4),cbind(diag(3),rep(0,3)))
.......

A simple function:

belowDiagonal = function(x)
{
    diagBelow=rbind(rep(0,length(x)+1),cbind(diag(x),rep(0,length(x))))
    return(diagBelow)
}


belowDiagonal(7)
belowDiagonal(1:5)

domenico