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.