% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/rxsolve.R
\name{rxIsDense}
\alias{rxIsDense}
\title{Check whether an ODE solving method supports dense output}
\usage{
rxIsDense(method)
}
\arguments{
\item{method}{A character vector of method names or an integerish vector of
method codes (as returned by \code{\link[=odeMethodToInt]{odeMethodToInt()}}).  Vectorised.}
}
\value{
A logical vector the same length as \code{method}.  \code{TRUE} if the
corresponding method supports dense output.
}
\description{
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.
}
\details{
Dense-capable single methods are:
\code{"dop853"} (0), \code{"dop5"} (10), \code{"bs"} (11), \code{"ros4"} (13).

For composite AutoSwitch methods (e.g. \code{"dop5+ros4"}), \code{TRUE} is returned
only when \strong{both} the primary and stiff secondary are dense-capable.
\code{"ros4"} is the only stiff method with dense support, so the valid dense
composites are \code{"dop853+ros4"}, \code{"dop5+ros4"}, and \code{"bs+ros4"}.
}
\examples{
rxIsDense("dop853")                       # TRUE
rxIsDense("ros4")                         # TRUE
rxIsDense("liblsoda")                     # FALSE
rxIsDense(c("dop5", "bs", "cvode"))       # TRUE TRUE FALSE
rxIsDense("dop5+ros4")                    # TRUE  (both dense)
rxIsDense("dop5+ros43")                   # FALSE (ros43 not dense)

}
\seealso{
\code{\link[=rxIsStiff]{rxIsStiff()}}, \code{\link[=rxIsNonStiff]{rxIsNonStiff()}}, \code{\link[=odeMethodToInt]{odeMethodToInt()}}
}
