lower.to.upper.tri.inds {cluster}R Documentation

Permute Indices for Triangular Matrices

Description

Compute index vectors for extracting or reordering of lower or upper triangular matrices that are stored as contiguous vectors.

Usage

lower.to.upper.tri.inds(n)
upper.to.lower.tri.inds(n)

Arguments

n integer larger than 1.

Value

integer vector containing a permutation of 1:N where N = n(n-1)/2.

Note

these functions are mainly for internal use in the cluster package, and may not remain available (unless we see a good reason).

See Also

upper.tri, lower.tri with a related purpose.

Examples

m5 <- matrix(NA,5,5)
m <- m5; m[lower.tri(m)] <- upper.to.lower.tri.inds(5); m
m <- m5; m[upper.tri(m)] <- lower.to.upper.tri.inds(5); m

stopifnot(lower.to.upper.tri.inds(2) == 1,
          lower.to.upper.tri.inds(3) == 1:3,
          upper.to.lower.tri.inds(3) == 1:3,
     sort(upper.to.lower.tri.inds(5)) == 1:10,
     sort(lower.to.upper.tri.inds(6)) == 1:15)

[Package Contents]