Learn R Programming

popdemo (version 1.3-1)

blockmatrix: Block-permute a reducible matrix

Description

Conjugate a reducible matrix into block upper triangular form

Usage

blockmatrix(A)

Arguments

A

a square, reducible, non-negative numeric matrix of any dimension

Value

a list containing components:

blockmatrix

the block-permuted matrix.

stage.order

the permutation of rows/columns of A in the block-permuted matrix.

Details

Any square, reducible, non-negative matrix may have its rows and columns conjugated so that it takes a block upper triangular structure, with irreducible square submatrices on the diagonal, zero submatrices in the lower triangle and non-negative submatrices in the upper triangle (Caswell 2001; Stott et al. 2010). blockmatrix permutes the rows and columns of a reducible matrix into this form, which enables further evaluation (e.g. computation of eigenvalues of submatrices).

References

  • Caswell (2001) Matrix population models 2nd ed. Sinauer.

  • Stott et al. (2010) Methods. Ecol. Evol., 1, 242-252.

Examples

Run this code
# NOT RUN {
  # Create a 3x3 reducible PPM
  A <- matrix(c(0,1,0,0.5,0.1,0,0,0.6,0.6), byrow=TRUE, ncol=3)
  dimnames(A) <- list(c("Juv", "Pre-R", "R"), c("Juv", "Pre-R", "R"))
  A

  # Block-permute the matrix
  blockmatrix(A)

# }

Run the code above in your browser using DataLab