elas
Calculate elasticity matrix
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.
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.
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: sens
,
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
elas(A)
# Calculate sensitivities of first subdominant eigenvalue,
# only for observed transitions
elas(A, eval=2)
# }