R/generics.R
eigenvectors.Rd
Compute the standardized left and right eigenvectors via iteration
right_ev(ipm, ...)
# S3 method for class 'simple_di_det_ipm'
right_ev(ipm, iterations = 100, tolerance = 1e-10, ...)
# S3 method for class 'simple_di_stoch_kern_ipm'
right_ev(ipm, burn_in = 0.25, ...)
# S3 method for class 'simple_di_stoch_param_ipm'
right_ev(ipm, burn_in = 0.25, ...)
# S3 method for class 'general_di_det_ipm'
right_ev(ipm, iterations = 100, tolerance = 1e-10, ...)
# S3 method for class 'general_di_stoch_kern_ipm'
right_ev(ipm, burn_in = 0.25, ...)
# S3 method for class 'general_di_stoch_param_ipm'
right_ev(ipm, burn_in = 0.25, ...)
left_ev(ipm, ...)
# S3 method for class 'simple_di_det_ipm'
left_ev(ipm, iterations = 100, tolerance = 1e-10, ...)
# S3 method for class 'simple_di_stoch_kern_ipm'
left_ev(ipm, iterations = 10000, burn_in = 0.25, kernel_seq = NULL, ...)
# S3 method for class 'general_di_det_ipm'
left_ev(ipm, iterations = 100, tolerance = 1e-10, ...)
# S3 method for class 'general_di_stoch_kern_ipm'
left_ev(ipm, iterations = 10000, burn_in = 0.25, kernel_seq = NULL, ...)
# S3 method for class 'general_di_stoch_param_ipm'
left_ev(ipm, iterations = 10000, burn_in = 0.25, kernel_seq = NULL, ...)
# S3 method for class 'simple_di_stoch_param_ipm'
left_ev(ipm, iterations = 10000, burn_in = 0.25, kernel_seq = NULL, ...)
Output from make_ipm()
.
Other arguments passed to methods
The number of times to iterate the model to reach convergence. Default is 100.
Tolerance to evaluate convergence to asymptotic dynamics.
The proportion of early iterations to discard from the stochastic simulation
The sequece of parameter set indices used to select kernels
during the iteration procedure. If NULL
, will use the sequence stored
in the ipm
object. Should usually be left as NULL
.
A list of named numeric vector(s) corresponding to the stable trait distribution
function (right_ev
) or the reproductive values for each trait (left_ev
).
For right_ev
, if the model has already been iterated and has
converged to asymptotic dynamics, then it will just extract the final
population state and return that in a named list. Each element of the list
is a vector with length >= 1
and corresponds each state variable's
portion of the eigenvector.
If the model has been iterated, but has not yet converged to asymptotic dynamics,
right_ev
will try to iterate it further using the final population state
as the starting point. The default number of iterations is 100, and can be
adjusted using the iterations
argument.
If the model hasn't been iterated, then right_ev
will try iterating it
for iterations
number of time steps and check for convergence. In the
latter two cases, if the model still has not converged to asymptotic dynamics,
it will return NA
with a warning.
For left_ev
, the transpose iteration (sensu Ellner & Rees 2006,
Appendix A) is worked out based on the state_start
and state_end
in the model's proto_ipm
object. The model is then iterated for
iterations
times to produce a standardized left eigenvector.
left_ev
and right_ev
return different things for stochastic models.
right_ev
returns the trait distribution through time from the stochastic
simulation (i.e. ipm$pop_state
), and normalizes it such that the
distribution at each time step integrates to 1 (if it is not already).
It then discards the first burn_in * iterations
time steps of the
simulation to eliminate transient dynamics. See Ellner, Childs, & Rees 2016,
Chapter 7.5 for more details.
left_ev
returns a similar result as right_ev
, except the trait
distributions are the result of left multiplying the kernel and trait
distribution. See Ellner, Childs, & Rees 2016, Chapter 7.5 for more
details.