Description Usage Arguments Details Value References See Also Examples
Calculate the true asymptotic growth of a population matrix projection model from the model projection
1 | truelambda(A, vector = "n", accuracy = 1e-07, iterations = 1e+05)
|
A |
a square, non-negative numeric matrix of any dimension |
vector |
(optional) a numeric vector or one-column matrix describing the age/stage distribution used to calculate the projection. |
accuracy |
the accuracy with which to determine convergence on asymptotic growth, expressed as a proportion (see details). |
iterations |
the maximum number of iterations of the model before the code breaks. For slowly-converging models and/or high specified convergence accuracy, this may need to be increased. |
truelambda
works by simulating the given model and manually determining
growth when convergence to the given accuracy
is reached. Convergence
on an asymptotic growth is deemed to have been reached when the growth of the
model stays within the window determined by accuracy
for 10*s
iterations of the model, with s equal to the dimension of A
. For example,
projection of an 8 by 8 matrix with convergence accuracy of 1e-2 is deemed to
have converged on asymptotic growth when 10*8=80 consecutive iterations of the
model have a growth within 1-1e-2=0.99 (i.e. 99%) and 1+1e-2=1.01 (i.e. 101%)
of each other.
If vector
is specified, then the asymptotic growth of the projection of
vector
through A
is returned. If vector="n"
then
asymptotic growths of the set of 'stage-biased' vectors are calculated. These
projections are achieved using a set of standard basis vectors equal in number
to the dimension of A
. These have every element equal to 0, except for
a single element equal to 1, i.e. for a matrix of dimension 3, the set of
stage-biased vectors are: c(1,0,0)
, c(0,1,0)
and
c(0,0,1)
.
Asymptotic growth should be equal to the dominant eigenvalue of the matrix. For
non-ergodic models this may not be the case: asymptotic growth will depend on
the population structure that's projected. truelambda
provides a means
to check what the true asymptotic growth of a non-ergodic model is.
If vector
is specified, a numeric vector of length 2 giving the range in
which asymptoticgrowth of the model lies.
If vector
is not specified, a 2-column matrix with each row giving the
range in which asymptotic growth lies for its corresponding stage-biased
projection: the number of rows is equal to the dimension of A
; the first
row is the range when projecting [1,0,0,...], the second entry is the range when
projecting [0,1,0,...], etc.
Stott et al. (2010) Methods Ecol. Evol., 1, 242-252.
Other ConvergenceMeasures:
convt()
,
dr()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # Create a 3x3 irreducible PPM
( A <- matrix(c(0,0,2,0.5,0.1,0,0,0.6,0.6), byrow=TRUE, ncol=3) )
# Create an initial stage structure
( initial <- c(1,3,2) )
# Calculate the true asymptotic growth of the stage-biased
# projections of A
truelambda(A)
# Calculate the true asymptotic growth of the projection of
# A and initial
truelambda(A, vector=initial)
# Create a 3x3 reducible, nonergodic PPM
B<-A; B[3,2] <- 0; B
# Calculate the true asymptotic growth of the 3 stage-biased
# projections of B
truelambda(B)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.