Dense output (continuous interpolation) allows the solver to reconstruct the solution at any point within a completed step without extra function evaluations. This lets the solver take large internal steps that span many requested output times, then interpolate cheaply – improving both speed and accuracy on densely sampled grids.
Arguments
- method
A character vector of method names or an integerish vector of method codes (as returned by
odeMethodToInt()). Vectorised.
Value
A logical vector the same length as method. TRUE if the
corresponding method supports dense output.
Details
Dense-capable single methods are:
"dop853" (0), "dop5" (10), "bs" (11), "ros4" (13).
For composite AutoSwitch methods (e.g. "dop5+ros4"), TRUE is returned
only when both the primary and stiff secondary are dense-capable.
"ros4" is the only stiff method with dense support, so the valid dense
composites are "dop853+ros4", "dop5+ros4", and "bs+ros4".
Examples
rxIsDense("dop853") # TRUE
#> [1] TRUE
rxIsDense("ros4") # TRUE
#> [1] TRUE
rxIsDense("liblsoda") # FALSE
#> [1] FALSE
rxIsDense(c("dop5", "bs", "cvode")) # TRUE TRUE FALSE
#> [1] TRUE TRUE FALSE
rxIsDense("dop5+ros4") # TRUE (both dense)
#> [1] TRUE
rxIsDense("dop5+ros43") # FALSE (ros43 not dense)
#> [1] FALSE
