Learn R Programming

popdemo (version 1.3-1)

sens: Calculate sensitivity matrix

Description

Calculate the sensitivity matrix for a population matrix projection model using eigenvectors.

Usage

sens(A, eval = "max", all = FALSE)

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 sensitivity of the eigenvalue with second-largest modulus.

all

(optional) if FALSE, then only sensitivity values for observed transitions (nonzero entries in A) are returned.

Value

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

Details

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

References

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

See Also

Other PerturbationAnalyses: elas(), 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
  sens(A)
  # Calculate sensitivities of first subdominant eigenvalue,
  # only for observed transitions
  sens(A, eval=2, all=FALSE) 

# }

Run the code above in your browser using DataLab