tril <- function(A) { A <- as.matrix(A) cmats <- matrix(rep(1,length(A)),dim(A)[1],dim(A)[2]) upper.tri(cmats,diag=T) cmats[upper.tri(cmats)] <- 0 out <- A*cmats return(out) }