popdemo (version 1.3-0)

elas: Calculate elasticity matrix

Description

Calculate the elasticity matrix for a specified population matrix projection model using eigenvectors.

Usage

elas(A, eval = "max")

Arguments

A

a square, non-negative numeric matrix of any dimension

eval

the eigenvalue to evaluate. Default is eval="max", which evaluates the dominant eigenvalue (the eigenvalue with largest REAL value: for imprimitive or reducible matrices this may not be the first eigenvalue). Otherwise, specifying e.g. eval=2 will evaluate elasticity of the eigenvalue with second-largest modulus.

Value

A numeric (real or complex) matrix of equal dimension to A.

Details

elas uses the eigenvectors of A to calculate the elasticity matrix of the specified eigenvalue, see section 9.1 in Caswell (2001). Same method as elasticity in popbio but can also evaluate subdominant eigenvalues.

References

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

See Also

Other PerturbationAnalyses: sens, tfa_inertia, tfa_lambda, tfam_inertia, tfam_lambda, tfs_inertia, tfs_lambda

Examples

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

  # Calculate sensitivities of dominant eigenvalue
  elas(A)
  # Calculate sensitivities of first subdominant eigenvalue,
  # only for observed transitions
  elas(A, eval=2)

# }

Run the code above in your browser using DataLab