sens
Calculate sensitivity matrix
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 inA
) are returned.
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.
Value
A numeric (real or complex) matrix of equal dimension to A
.
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
# 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)
# }