Skip to contents

Implicit ODE solvers linearise the system at each step and therefore require the Jacobian df/dy. rxode2 auto-computes a symbolic Jacobian when one of these methods is requested and falls back to "liblsoda" if symbolic differentiation fails. Use this function to test whether a method string or integer code corresponds to an implicit solver.

Usage

rxIsImplicit(method)

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 is implicit and requires a Jacobian.

Details

Implicit methods are: "ros4" (13), "iem" (14), "ros43" (31), "ros6" (32), "backwardEuler" (33), "gauss6" (34), "iiic6" (35), "radauiia5" (36), "geng5" (37), "sdirk43" (38).

See also

Examples

rxIsImplicit("ros4")              # TRUE
#> [1] TRUE
rxIsImplicit("liblsoda")          # FALSE
#> [1] FALSE
rxIsImplicit(c("ros43", "dop853", "iem"))  # TRUE FALSE TRUE
#> [1]  TRUE FALSE  TRUE
rxIsImplicit(13L)                 # TRUE  (ros4)
#> [1] TRUE
rxIsImplicit(0L)                  # FALSE (dop853)
#> [1] FALSE