popdemo (version 1.3-1)

isPrimitive: Determine primitivity of a matrix

Description

Determine whether a matrix is primitive or imprimitive

Usage

isPrimitive(A)

Arguments

A

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

Value

TRUE (for an primitive matrix) or FALSE (for an imprimitive matrix).

Details

isPrimitive works on the premise that a matrix A is primitive if A^(s^2-(2*s)+2) is positive, where s is the dimension of A (Caswell 2001).

References

  • Caswell (2001) matrix Population Models, 2nd. ed. Sinauer.

See Also

Other PerronFrobeniusDiagnostics: isErgodic(), isIrreducible()

Examples

Run this code
# NOT RUN {
  # Create a 3x3 primitive PPM
  ( A <- matrix(c(0,1,2,0.5,0,0,0,0.6,0), byrow=TRUE, ncol=3) )

  # Diagnose primitivity
  isPrimitive(A)

  # Create a 3x3 imprimitive PPM
  B<-A; B[1,2] <- 0; B

  # Diagnose primitivity
  isPrimitive(B)

# }

Run the code above in your browser using DataCamp Workspace