lower.to.upper.tri.inds       package: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)

